Warum ist 0==null in PHP wahr?
phpcn_u1582
phpcn_u1582 2017-06-17 09:15:17
0
2
808

PHP

var_dump(0 == null)
//ture

Javascript

console.log(0 == null)

//false

Warum ist 0==null in PHP kein numerischer Wert?

phpcn_u1582
phpcn_u1582

Antworte allen(2)
迷茫

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

过去多啦不再A梦

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

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

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

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage