我不明白isset()和!empty()的区别。因为如果一个变量已经被设置了,它不就等于不是空的吗?
isset()
!empty()
9jyewag01#
ISSET检查变量是否已设置。换句话说,它检查变量是否为除NULL以外的任何值或未赋值。如果变量存在且具有除NULL以外的值,则ISSET返回TRUE。这意味着赋值为“"、0、“0”或“0”的变量已设置,因此对于ISSET为TRUE。EMPTY检查变量是否为空。Empty解释为:“”(空字符串),0(整数),0.0(浮点)`,“0”(字符串),NULL,NULL,array()(空数组)和“$var;”(声明的变量,但在类中没有值)。
ISSET
TRUE
uklbhaso2#
Source :http://php.net/manual/en/types.comparisons.php本页显示empty(),is_null(),isset()的比较。
empty()
is_null()
的数据
lg40wkob3#
类型比较表给出了关于这些运算符的所有问题的答案http://php.net/manual/en/types.comparisons.php
vulvrdjw4#
还有一点要注意的是,empty()也会检查变量是否存在。也就是说,如果我们对没有声明的变量执行empty(),我们不会收到错误,empty()返回“true”。因此,如果接下来我们需要检查变量是否为空,我们可以避免isset()。所以
isset($var) && !empty($var)
字符串将等于
!empty($var)
型
sf6xfgos5#
isset-确定是否设置了变量并且该变量不是NULL。!empty-判断一个变量是否为非空。
isset
!empty
hi3rlvi26#
如果变量未被设置或为null,则Isset返回false;如果变量已被设置且不为null,则返回true。!empty如果变量已设置且不为空,则返回true。空字符串、空数组、“0”、0和false被定义为空。
ktca8awb7#
当已经存在一个检查true或false的条件时,使用!empty。isset是更基本的。empty包含更多的检查,因此需要小心使用。
7条答案
按热度按时间9jyewag01#
ISSET检查变量是否已设置。换句话说,它检查变量是否为除NULL以外的任何值或未赋值。如果变量存在且具有除NULL以外的值,则
ISSET
返回TRUE
。这意味着赋值为“"、0、“0”或“0”的变量已设置,因此对于ISSET
为TRUE
。EMPTY检查变量是否为空。Empty解释为:“”(空字符串),0(整数),0.0(浮点)`,“0”(字符串),NULL,NULL,array()(空数组)和“$var;”(声明的变量,但在类中没有值)。
uklbhaso2#
Source :http://php.net/manual/en/types.comparisons.php本页显示
empty()
,is_null()
,isset()
的比较。的数据
lg40wkob3#
类型比较表给出了关于这些运算符的所有问题的答案
http://php.net/manual/en/types.comparisons.php
vulvrdjw4#
还有一点要注意的是,
empty()
也会检查变量是否存在。也就是说,如果我们对没有声明的变量执行empty()
,我们不会收到错误,empty()
返回“true”。因此,如果接下来我们需要检查变量是否为空,我们可以避免isset()
。所以
字符串
将等于
型
sf6xfgos5#
isset
-确定是否设置了变量并且该变量不是NULL。!empty
-判断一个变量是否为非空。hi3rlvi26#
如果变量未被设置或为null,则Isset返回false;如果变量已被设置且不为null,则返回true。
!empty如果变量已设置且不为空,则返回true。空字符串、空数组、“0”、0和false被定义为空。
ktca8awb7#
当已经存在一个检查true或false的条件时,使用!empty。
isset是更基本的。empty包含更多的检查,因此需要小心使用。