虽然看了 http://www.phpchina.com/manual/php/types.comparisons.php但对于  echo var_dump(0=='xxx'); 会输出true,还是有点朦胧, 0 是 false明白, 难道'xxx'也是false? 把所有的字符串设计成false? 请高手回答一下

解决方案 »

  1.   

    'xxx'会被强转成0 如果是绝对等于的话 就会是false 因为它们类型不同 一个数值型 一个字符型
    <?php
    echo var_dump(0=='xxx');//true
    echo var_dump(0==='xxx');//false
    ?> 
      

  2.   

    这样不对, 如果 'xxx'会被强转成0
    那么 'yyy'呢, 都是字符串, 那我假设'yyy'也会被强转成0
    但是
    <?php
    echo var_dump('yyy'=='xxx');//但这个会输出false
    ?> 这又怎么解释呢
      

  3.   

    你这样子是两个字符串相比较 比较的是字符串的内容 内容不相同 当然为false
      

  4.   

    有点明白了, php在比较时类型不同会自动转换然后比较内容, 相同时自然就直接比较内容了!谢谢了