PHP 类型比较
- 松散比较:使用两个等号 == 比较,只比较值,不比较类型。
- 严格比较:用三个等号 === 比较,除了比较值,也比较类型。
例如,“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: '; //0 == false: bool(true)
var_dump(0 == false);
echo '0 === false: ';
var_dump(0 === false); //0 === false: bool(false)
echo PHP_EOL;
echo '0 == null: ';
var_dump(0 == null); //0 == null: bool(true)
echo '0 === null: ';
var_dump(0 === null); //0 === null: bool(false)
echo PHP_EOL;
echo 'false == null: ';
var_dump(false == null); //false == null: bool(true)
echo 'false === null: ';
var_dump(false === null); //false === null: bool(false)
echo PHP_EOL;
echo '"0" == false: ';
var_dump("0" == false); //"0" == false: bool(true)
echo '"0" === false: ';
var_dump("0" === false); //"0" === false: bool(false)
echo PHP_EOL;
echo '"0" == null: ';
var_dump("0" == null); //"0" == null: bool(false)
echo '"0" === null: ';
var_dump("0" === null); //"0" === null: bool(false)
echo PHP_EOL;
echo '"" == false: ';
var_dump("" == false); //"" == false: bool(true)
echo '"" === false: ';
var_dump("" === false); //"" === false: bool(false)
echo PHP_EOL;
echo '"" == null: ';
var_dump("" == null); //"" == null: bool(true)
echo '"" === null: ';
var_dump("" === null); //"" === null: bool(false)
?>
注:部分示例及内容来自菜鸟教程
对菜鸟教程表示感谢