为什么在 PHP 中 0==null 为 ture ?
phpcn_u1582
phpcn_u1582 2017-06-17 09:15:17
0
2
871

PHP

var_dump(0 == null)
//ture

javascript

console.log(0 == null)

//false

PHP 中为什么0==null,0难道不是一个数值吗?

phpcn_u1582
phpcn_u1582

全部回复(2)
迷茫

原因是在PHP中变量是以C语言的结构体来存储的,空字符串和NULL,false都是以值为0存储的.
null,0,false在不区分类型的情况下都判为逻辑假 即false

过去多啦不再A梦

参见PHP手册,下图截取自PHP手册

此表展示了PHP二元运算符对于运算符左右运算子进行的处理。

可见,0 == null,一个运算子为数字,另一个运算子为null,符合表中的第二种情况,所以按照描述,两边同时被转成相应的布尔值,也就是说0null都被转成了false,这样 false == false就是true

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板