当前位置:首页 > 专题管理

PHP empty() 检测一个变量是否为空

empty()

PHP empty() 用于检测一个变量是否为空,如果被检测的变量为空则返回 TRUE,否则返回 FALSE 。

语法:

bool empty( mixed var )

例子:

<?php
$var = "";
if(empty($var)){
    echo '变量 $var 为空';
} else {
    echo '变量 $var 不为空';
}
?>

运行该例子输出:

变量 $var 为空

注意

  • empty() 只能用于检测变量,如这种用法是非法的: empty(addslashes($var)) 。
  • empty() 是一个语言结构而非函数,因此它无法被变量函数调用。

提示

下述情况,empty() 返回 TRUE :

// 变量没有值
$var = "";
// 变量值为 0 或 "0"
$var = 0;
$var = "0";
// 空数组
$var = array();
// 变量被设置为 null
$var = null;
// 变量被设置为 false
$var = false;
// 被 unset() 函数释放了的变量
unset($var);
// 类里变量被 var 关键字声明,但尚未设定
var $var;

empty() 与 isset() 的比较


empty()isset()(bool)
$var = ""TRUETRUEFALSE
$var = nullTRUEFALSEFALSE
$var = FALSETRUETRUEFALSE
var $varTRUEFALSEFALSE
$var = array()TRUETRUEFALSE
$var = 0TRUETRUEFALSE
$var = "0"TRUETRUEFALSE

可见 empty() 是比 isset() 对变量更严格的检查。