PHP 类型比较

虽然 PHP 是弱类型语言,但也需要明白变量类型及它们的意义,因为我们经常需要对 PHP 变量进行比较,包含松散和严格比较。

  • 松散比较:使用两个等号 == 比较,只比较值,不比较类型。
  • 严格比较:用三个等号 === 比较,除了比较值,也比较类型。

例如,"42" 是一个字符串而 42 是一个整数。FALSE 是一个布尔值而 "FALSE" 是一个字符串。

实例

<?phpif(42 == "42"){echo'1、值相等'; }echoPHP_EOL; // 换行符if(42 === "42"){echo'2、类型相等'; }else{echo'3、类型不相等'; }?>

以上实例输出结果为:

1、值相等
3、类型不相等

PHP中 比较 0、false、null

测试代码:

实例

<?phpecho'0 == false: '; var_dump(0 == false); echo'0 === false: '; var_dump(0 === false); echoPHP_EOL; echo'0 == null: '; var_dump(0 == null); echo'0 === null: '; var_dump(0 === null); echoPHP_EOL; echo'false == null: '; var_dump(false == null); echo'false === null: '; var_dump(false === null); echoPHP_EOL; echo'"0" == false: '; var_dump("0" == false); echo'"0" === false: '; var_dump("0" === false); echoPHP_EOL; echo'"0" == null: '; var_dump("0" == null); echo'"0" === null: '; var_dump("0" === null); echoPHP_EOL; echo'"" == false: '; var_dump("" == false); echo'"" === false: '; var_dump("" === false); echoPHP_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)

PHP 类型比较

PHP 类型比较