不一定,如果前者的值为0/FALSE,那么就是假!

解决方案 »

  1.   

    if($abc)
    if(empty($abc))
    几乎相反啊
    if($abc)

    if(!empty($abc))
    大体相同不过当$abc没定义时, 第一个会报一个NOTICE error 
      

  2.   

    如果要判断变量有否定义,要用isset($abc)
    这时如果$abc=0也会返回true
      

  3.   

    记住这语句用来干嘛是没有意义的,得理解它是怎么被计算机理解的。逻辑表达式的值只有两个:0,或非0。前者为假,不执行;后者为真,执行。if($abc)
    如果不存在$abc,这句就出错了。
    ……
    路过,路过……
      

  4.   

    当然不是啦!前者的理解是“$abc”的值是否是TRUE或者有值,如果该变量没定义,那么就会产生E_NOTICE的注意级错误,所以就有了empty;
    empty($abc)的理解是:判断$abc是否是FALSE、0、未定义、NULL(空),如果是FALSE、0、未定义、NULL(空),那么将返回TRUE,所以一般使用empty都是在前面加上“!”,当然因为EMPTY可以判断是否未定义,所以是不会产生E_NOTICE错误的。
      

  5.   

    那么if($abc==""),判断的就是是否为空值,是吧
      

  6.   

    你这个语句是对的,前提是$abc已经定义了,要不用if(empyt($abc))这样更好。