PHP 型別比較
PHP 型別比較
雖然 PHP 是弱型別語言,但也需要明白變數型別及它們的意義,因為我們經常需要對 PHP 變數進行比較,包含鬆散和嚴格比較。
- 鬆散比較:使用兩個等號 == 比較,只比較值,不比較型別。
- 嚴格比較:用三個等號 === 比較,除了比較值,也比較型別。
例如,"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)