PHP 類型比較
php 類型比較
雖然 php 是弱類型語言,但也需要明白變量類型及它們的意義,因為我們經(jīng)常需要對 php 變量進行比較,包含松散和嚴格比較。
- 松散比較:使用兩個等號 == 比較,只比較值,不比較類型。
- 嚴格比較:用三個等號 === 比較,除了比較值,也比較類型。
例如,"98" 是一個字符串而 98 是一個整數(shù)。false 是一個布爾值而 "false" 是一個字符串。
if(98 == "98") { echo '1、值相等'; } echo php_eol; // 換行符 if(98 === "98") { echo '2、類型相等'; } else { echo '3、類型不相等'; }
以上范例輸出結(jié)果為:
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);以上范例輸出結(jié)果為:
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)