PHP empty 变量处理函数



  • 定义和用法

    empty - 检查一个变量是否为空
  • 版本支持

    PHP4 PHP5 PHP7
    支持 支持 支持
    5.5.0 empty() 现在支持表达式了,而不仅仅是变量。
    5.4.0 检查非数字的字符串偏移量会返回 TRUE.
  • 语法

    empty ( mixed $var )
    
    判断一个变量是否被认为是空的。当一个变量并不存在,或者它的值等同于FALSE,那么它会被认为不存在。如果变量不存在的话,empty()并不会产生警告。
  • 参数

    参数 必需的 描述
    var 待检查的变量.
    在 PHP 5.5 之前,empty() 仅支持变量;任何其他东西将会导致一个解析错误。换言之,下列代码不会生效: empty(trim($name))。 作为替代,应该使用trim($name) == false.
    没有警告会产生,哪怕变量并不存在。 这意味着 empty() 本质上与 !isset($var) || $var == false 等价。
  • 返回值

    当var存在,并且是一个非空非零的值时返回 FALSE 否则返回 TRUE.以下的东西被认为是空的:
    • "" (空字符串)
    • 0 (作为整数的0)
    • 0.0 (作为浮点数的0)
    • "0" (作为字符串的0)
    • NULL
    • FALSE
    • array() (一个空数组)
    • $var; (一个声明了,但是没有值的变量)
  • 示例

    $var = 0;
    
    // Evaluates to true because $var is empty
    if (empty($var)) {
        echo '$var is either 0, empty, or not set at all';
    }
    
    // Evaluates as true because $var is set
    if (isset($var)) {
        echo '$var is set even though it is empty';
    }
    
  • 相关函数

    isset() - 检测变量是否已设置并且非 NULL
    unset() - 释放给定的变量
    array_key_exists() - 检查数组里是否有指定的键名或索引
    count() - 计算数组中的单元数目,或对象中的属性个数
    strlen() - 获取字符串长度