<?php
$str = "abcd";if($str == 0)
    echo "OK";
else
    echo "Failed.";
?>
// ok
<?php
$str = "abcd";if($str === 0)
    echo "OK";
else
    echo "Failed.";
?>//Failed.

解决方案 »

  1.   

    这段代码是我在找错的时候发现的。当时,是为了判断$str是否为空。当然,这种判断方法是有点儿问题的。
    我从错误的程序中抽出了这段代码。这段代码的运行结果是:"OK"。我也知道===的用法。我想,问题的关键是:为什么($str==0)会为真。这也正是我奇怪的地方!
      

  2.   

    一团糊涂,哪个告知一下,WHY($str==0)会为真
      

  3.   

    php隐式类型转换。将$str转换为整数当然就是0了。