我不明白
isset()
和!empty()
之间的区别。
因为如果设置了一个变量,那不就等于不为空了吗?
ISSET 检查变量以查看它是否已设置。换句话说,它检查变量是否为除 NULL 之外的任何值或未分配值。如果变量存在并且具有 NULL 以外的值,则
ISSET
返回 TRUE
。这意味着分配了“”、0、“0”或 FALSE 的变量已设置,因此 TRUE
表示 ISSET
。
EMPTY 检查变量是否为空。空被解释为:“”(空字符串)、0(整数)、0.0(浮点)`、“0”(字符串)、NULL、FALSE、array()(空数组)和“$var;” (声明了一个变量,但在类中没有值。
类型比较表给出了有关这些运算符的所有问题的答案
还有一点。
empty()
检查变量是否也存在。 IE。如果我们对未声明的变量执行 empty()
,我们不会收到错误,empty()
返回“true”。因此,如果接下来我们需要检查变量是否为空,我们可以避免isset()
。
所以
isset($var) && !empty($var)
将等于
!empty($var)
isset
— 确定变量是否已设置且不为 NULL。
!empty
— 确定变量是否不为空。
如果变量尚未设置或变量为 null,则 Isset 返回 false;如果变量已设置且不为 null,则返回 true。
如果变量已设置且不为空,!empty 返回 true。空字符串、空数组、“0”、0 和 false 定义为空。
当已经存在一个正在检查 true 或 false 的条件时,请使用 !empty。
isset 更基本。空包含更多检查,因此需要小心使用。
Isset() 函数
Isset函数用于检查变量是否定义且值不为null
!(空)函数
!(empty) 函数用于检查变量是否未定义或包含 0,0.0,'' ,array(),false,null 等值。