判断变量是否已配置。
语法: int empty(mixed var);
返回值: 整数
函数种类: PHP 系统功能
内容说明 
本函数用来测试变量是否已经配置。若变量已存在、非空字符串或者非零,则返回 false 值;反之返回 true。值的注意的是 [email protected] 指出 (27-May-1999) 若使用 empty($myvar) != !isset($myvar) 会造成 PHP 处理的问题。

解决方案 »

  1.   

    那两个代码是不一样的,第一个输出no不是ok
      

  2.   

    <?
      if($str)
        echo "ok";
      else
        echo "no";
    ?><?
      if(!empty($str))
        echo "ok";
      else
        echo "no";
    ?>if($str)如果变量存在,不论空值与否,都返回真
    if(!empty($str)),如果变量不为空,则返回真,为空,则返回flase
      

  3.   

    看不出来,那你就想,用$_GET['str']或者$_POST['str'],$_SESSION['str']等变量测试,你会明白的
      

  4.   

    sorry!很少这么写代码,误以为是这样的了<?php
    $str = "";if (isset($str)) {
        echo "ok";
    } else {
        echo "wrong!";
    }if (!empty($str)) {
        echo "ok";
    } else {
        echo "wrong!";
    }
    ?>
      

  5.   

    我知道isset和empty的区别,就是不知道题目中另外两个的区别!$str       表示字符串不存在,为0,或为空字符串;
    empty($str) 表示同上我真的出他们到底有何区别?
      

  6.   

    if ($str)
    应该是检测变量,并且不为空。
    而isset仅仅检测变量存在,empty检测变量是否为空
      

  7.   

    结论,你说的应该没错,
    if ($str) 检测变量是否存在,并且不为0,不为空
      

  8.   

    不喜欢也不建议用
    if($variable)的判断,感觉可读性很差,加上个函数,就清楚明白多了
    if(empty($variable)) 这个就好懂了