PHPの型比較
緩やかな比較: 比較には 2 つの等号 == を使用し、型ではなく値のみを比較します。
厳密な比較: 3 つの等号 === を使用して比較し、値の比較に加えて型も比較します。
たとえば、「42」は文字列であり、42 は整数です。 FALSE はブール値、「false」は文字列です。
<?php if (42 == "42") { echo '1、值相等'; } echo PHP_EOL; // 换行符 if (42 === "42") { echo '2、类型相等'; } else { echo '3、不相等'; } ?>
上記の例の出力結果は次のとおりです:
1、値は等しいです
3、待ちたくない
PHP での 0、false、null の比較
テスト コード:
例:
<?php echo '0 == false: '; var_dump(0 == false); echo '0 === false: '; var_dump(0 === false); echo PHP_EOL; echo '0 == null: '; var_dump(0 == null); echo '0 === null: '; var_dump(0 === null); echo PHP_EOL; echo 'false == null: '; var_dump(false == null); echo 'false === null: '; var_dump(false === null); echo PHP_EOL; echo '"0" == false: '; var_dump("0" == false); echo '"0" === false: '; var_dump("0" === false); echo PHP_EOL; echo '"0" == null: '; var_dump("0" == null); echo '"0" === null: '; var_dump("0" === null); echo PHP_EOL; echo '"" == false: '; var_dump("" == false); echo '"" === false: '; var_dump("" === false); echo PHP_EOL; echo '"" == null: '; var_dump("" == null); echo '"" === null: '; var_dump("" === null);
上記の例の出力結果は次のとおりです:
0 == false: bool(true)0 === false: bool(false)
0 == null: bool(true)
0 === null: bool(false)
false == null: bool( true)
false === null: bool(false)
"0" == false: bool(true)
"0 " === false: bool(false)
"0" == null: bool(false)
"0" === null: bool(false)
"" == false: bool(true)
"" === false: bool(false)
"" == null: bool(true)
"" === null: bool(間違い)########### ###################