【发布时间】:2010-10-26 11:28:28
【问题描述】:
$foo = 0;
if($foo == 'on') $foo = 1;
echo $foo;
上面的代码应该会输出“0”。然而它没有,不知何故$foo == 'on' 导致TRUE,尽管这显然是错误的。将表达式替换为 $foo === 'on' 给出了正确答案,因此任何怀疑这可能是一些打字问题似乎都得到了证实。
尽管如此,如果 $foo 和 'on' 甚至不是同一类型,PHP 怎么会认为 $foo 是 'on'?这是一个错误还是一些奇怪的功能?
【问题讨论】: