我从我的php脚本中得到了一些奇怪的动作,最后发现以下声明会产生问题。因为0在php中等于某些字符串。
if(0 == "whats Up?")
{
echo 42;
}
使用triple" ="它做我想象的。您有可能简要回答一下这种PHP行为背后的原因和想法是什么?他们为什么要像这样实现php?
我的意思是我知道1 ==" 1"是真的,1 ===" 1"不是。这也是在python中。我也从某个地方学到0可以理解为假,但上面这个例子对我没有解释。但我相信你知道它。
提前谢谢
答案 0 :(得分:1)
那是因为Type Juggling。第二个操作数转换为整数,0
==
0
为true
。
var_dump((int) "whats Up?"); // int(0)