isset()
和 empty()
是 PHP 中两个常用的函数,它们都用于检查变量的状态
isset()
函数:isset()
用于检查一个变量是否已经设置且不为NULL
。如果变量存在且值不为NULL
,则返回true
,否则返回false
。
示例:
$var1 = 0; $var2 = NULL; $var3 = ''; var_dump(isset($var1)); // 输出:bool(true) var_dump(isset($var2)); // 输出:bool(false) var_dump(isset($var3)); // 输出:bool(false)
empty()
函数:empty()
用于检查一个变量是否为空。如果变量存在且值为以下情况之一,则返回true
:
NULL
false
0
(整数零)'0'
(字符串零)''
(空字符串)[]
(空数组)- 未设置的变量(变量不存在或被 unset)
示例:
$var1 = 0; $var2 = NULL; $var3 = ''; $var4 = []; var_dump(empty($var1)); // 输出:bool(true) var_dump(empty($var2)); // 输出:bool(true) var_dump(empty($var3)); // 输出:bool(true) var_dump(empty($var4)); // 输出:bool(true)
总结:
isset()
只检查变量是否设置且不为NULL
,而empty()
检查变量是否为空。- 如果变量未设置,
isset()
会返回false
,而empty()
会认为变量是空的,返回true
。 - 如果变量值为
0
或'0'
,isset()
返回true
,而empty()
返回true
。