当然先出现a因为if(!empty($var))等效与if($var),只要$var为0或者false,empty($var)都返回true你用if(isset($var))就行了

解决方案 »

  1.   

    应该是
    <?
    $c=0;
    if(!isset($c))
    {
    echo "a";
    }
    else
    {
    echo "B";
    }
    ?>这样就会显示B了
      

  2.   

    empty("0")
    The perhaps most controversial change in behavior has happened to the behavior of the empty(). A String containing only the character '0' (zero) is now considered empty while it wasn't in PHP 3. This new behavior makes sense in web applications, with all input fields returning strings even if numeric input is requested, and with PHP's capabilities of automatic type conversion. But on the other had it might break your code in a rather subtle way, leading to misbehavior that is hard to track down if you do not know about what to look for. 你可以用if($c=="")代替