PHPの同等の比較演算子と同一の比較演算子の違いは何ですか?

php
PHPの同等の比較演算子と同一の比較演算子の違いは何ですか?

_
可能性のある重複: + https://stackoverflow.com/questions/80646/how-do-the-equality-double-equals-and-identity-triple-equals-compariso [どのように等しいか(== double equals)および同一性(===トリプルイコール)比較演算子は異なりますか?]
_

`==`と `===`の基本的な違いは知っていますが、経験豊富なコーダーの中には、両方のケースの実用的な例を教えてもらえますか?

  4  1


ベストアンサー

`==`は、2つのオペランドの値が等しいかどうかをチェックします。 `===`は、値と2つのオペランドのタイプをチェックします。

if("1" == 1)
   echo "true";
else
   echo "false";

上記は「true」を出力します。

if("1" === 1)
   echo "true";
else
   echo "false";

上記は「false」を出力します。

if("1" === (string)1)
   echo "true";
else
   echo "false";

上記は「true」を出力します。

20


それを表示する最も簡単な方法は、文字列を使用することです。 2つの例

echo ("007" === "7" ? "EQUAL!" : "not equal");
echo ("007" == "7" ? "EQUAL!" : "not equal");

1


@DavidTの例に加えて、より実用的な例は次のとおりです。

$foo = "Goo";
$bar = "Good Morning";
if (strpos($bar,$foo))
  echo "Won't be seen, returns false because the result is in fact 0";
if (strpos($bar,$foo) !== false)
  echo "True, though 0 is returned it IS NOT false)";

1


タイトルとURLをコピーしました