PHP 型の比較
PHP は弱型付け言語ですが、変数の型とその意味を理解する必要があります。PHP 変数を比較する必要が頻繁にあり、そこには緩い比較と厳密な比較が含まれるからです。
- 緩い比較:等号を2つ使用==比較では、値のみを比較し、型は比較しません。
- 厳密な比較:等号を3つ使用===比較では、値に加えて型も比較します。
例えば、"42" は文字列であり、42 は整数です。FALSEはブール値であり、"FALSE"は文字列です。
例
if(42 == "42") {
echo '1、値が等しい';
}
echo PHP_EOL; //改行文字
if(42 === "42") {
echo '2、型が等しい';
} else {
echo '3、型が等しくない';
}
上記の例の出力結果は次のとおりです:
1、值相等 3、类型不相等
PHP で 0、false、null を比較する
テストコード:
例
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(false)

