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() | (bool) | |
---|---|---|---|
$var = "" | TRUE | TRUE | FALSE |
$var = null | TRUE | FALSE | FALSE |
$var = FALSE | TRUE | TRUE | FALSE |
var $var | TRUE | FALSE | FALSE |
$var = array() | TRUE | TRUE | FALSE |
$var = 0 | TRUE | TRUE | FALSE |
$var = "0" | TRUE | TRUE | FALSE |
未定义 | TRUE | FALSE |
可见 empty() 是比 isset() 对变量更严格的检查。