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(間違い)########### ###################