$a = 0;
function test($a){
if($a==''){
return true;
}else{
return false;
}
}这个函数为什么反回true呢

解决方案 »

  1.   

    var_dump($a=='');  返回什么
      

  2.   

    ∵ $a = 0 等于空
    ∴ $a == '' 成立$a === '' 就不成立了
      

  3.   

    var_dump($a=='');    bool(true) 1   那$a 传进来   0==''? 不理解
      

  4.   

    0,false,‘’这三个都是 == 的,你可以用 === 来判断。
      

  5.   


    0 == null == false == '' == ""
    当然全等都不成立,暂时就想到这么多
      

  6.   

    參考php手冊的empty函數,和這差不多。
    bool empty ( mixed var )
    如果 var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。 
      

  7.   

    参考该贴:http://topic.csdn.net/u/20110616/15/94671109-4852-4015-b975-72a28088d443.html?82587