isset:检测变量是否已设置并且非 NULL
。
若使用 isset() 测试一个被设置成 NULL
的变量,将返回 FALSE
。
empty:检查一个变量是否为空。
判断一个变量是否被认为是空的。当一个变量并不存在,或者它的值等同于FALSE
,那么它会被认为不存在。如果变量不存在的话,empty()并不会产生警告。
当var
存在,并且是一个非空非零的值时返回 FALSE
否则返回 TRUE
。
以下的东西被认为是空的:
"" (空字符串)
0 (作为整数的0)
0.0 (作为浮点数的0)
"0" (作为字符串的0)
FALSE
array() (一个空数组)
$var (一个声明了,但是没有值的变量)
NULL
区别:他们最大的区别是对于空值的判断,上述中除了 $var (一个声明了,但是没有值的变量)、NULL
这两个值。其他值 empty 会认为是空,而 isset 则会认为不为空。