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 = "" | 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 |
可见 empty() 是比 isset() 对变量更严格的检查。