Perbandingan jenis PHP
Perbandingan longgar: Gunakan dua tanda sama == untuk membandingkan, hanya membandingkan nilai, bukan jenis.
Perbandingan ketat: Gunakan tiga tanda sama === untuk membandingkan Selain membandingkan nilai, jenis juga dibandingkan.
Sebagai contoh, "42" ialah rentetan dan 42 ialah integer. FALSE ialah nilai boolean dan "false" ialah rentetan.
<?php if (42 == "42") { echo '1、值相等'; } echo PHP_EOL; // 换行符 if (42 === "42") { echo '2、类型相等'; } else { echo '3、不相等'; } ?>
Hasil keluaran contoh di atas ialah:
1, nilai yang sama
3, tidak mahu menunggu
Bandingkan 0, palsu, nol dalam PHP
Kod ujian:
<?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);
Hasil keluaran contoh di atas ialah:
0 == false: bool(true0) == false: bool(true) )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)