echo 0==="all";
==不是完全匹配的,要用===.你查查他们的差异

解决方案 »

  1.   

    不同类型的常/变量比较要十分小心,php是宽松的语法会导致意想不到的问题
    其他语言中要严格控制常/变量类型的所以首先将变量统一类型才可比较,0是比较特殊的常量
      

  2.   

    TO mingxuan3000(铭轩):           echo 0==="0" 结果为false
    --------------------------如果我想0等于"0"应该怎么办呢?
      

  3.   

    0等于"0",用==可以,但有别的问题,你可以考虑用反面的情况如!=,!==,>,<之类来代替
      

  4.   

    0=='all'
    php会作自动类型转换,'all'转整形成0,所以相等
      

  5.   

    如果是你自己设的falg,就用"2"代表false,"3"代表true,避免0,1,
    如果是某个返回值,那就要考虑类型什么的
      

  6.   

    感谢楼上几楼
    知道答案了! 如果想以字符串方式进行比较最好用strcmp
      

  7.   

    用intval,strval转换后再比较。
    装换为自己希望的类型,
    比如
    if(strval(0) == strval($otherstrval)) 
    {
        echo "yes";
    }
      

  8.   

    经常性的需要检查 if(empty($var))