# PHP 类型比较
虽然 PHP 是弱类型语言,但也需要明白变量类型及它们的意义,因为我们经常需要对 PHP 变量进行比较,包含松散和严格比较。
* 松散比较:使用两个等号\==比较,只比较值,不比较类型。
* 严格比较:用三个等号\===比较,除了比较值,也比较类型。
例如,"42" 是一个字符串而 42 是一个整数。FALSE是一个布尔值而"FALSE"是一个字符串。
## 实例
以上实例输出结果为:
~~~
1、值相等
3、类型不相等
~~~
### PHP中 比较 0、false、null
测试代码:
## 实例
<?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);
以上实例输出结果为:
~~~
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)
~~~
![](https://www.runoob.com/wp-content/uploads/2019/05/1791863413-572055b100304_articlex.png)
![](https://www.runoob.com/wp-content/uploads/2019/05/xxxxphp.png)