可能性の重複:
How do the equality (== double equals) and identity (=== triple equals) comparison operators differ?PHPの等価比較演算子と同一比較演算子の違いは何ですか?
私は==
と===
の基本的な違いを知っているが、いくつかの経験豊富なプログラマーが私に両方のケースのためのいくつかの実用的な例を伝えることができますか?
可能性の重複:
How do the equality (== double equals) and identity (=== triple equals) comparison operators differ?PHPの等価比較演算子と同一比較演算子の違いは何ですか?
私は==
と===
の基本的な違いを知っているが、いくつかの経験豊富なプログラマーが私に両方のケースのためのいくつかの実用的な例を伝えることができますか?
==
は、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
です。
最も簡単な方法は、文字列を使用することです。二つの例:@つり柱の例に加えて
echo ("007" === "7" ? "EQUAL!" : "not equal");
echo ("007" == "7" ? "EQUAL!" : "not equal");
、より実用的な例は以下の通りである。
$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)";
http://stackoverflow.com/questions/3641819/php-notを参照してください。 -equal-to-and/3641837#3641837( '!='と '!=='を比較しますが、あなたはアイデアを得ます) – BoltClock
http://www.php.net/manual/ja/types.comparisons.php素晴らしい概観! – Paul