PHP中的'isset()'和'!empty()'有什么区别?

3yhwsihp  于 4个月前  发布在  PHP
关注(0)|答案(7)|浏览(64)

我不明白isset()!empty()的区别。
因为如果一个变量已经被设置了,它不就等于不是空的吗?

9jyewag0

9jyewag01#

ISSET检查变量是否已设置。换句话说,它检查变量是否为除NULL以外的任何值或未赋值。如果变量存在且具有除NULL以外的值,则ISSET返回TRUE。这意味着赋值为“"、0、“0”或“0”的变量已设置,因此对于ISSETTRUE
EMPTY检查变量是否为空。Empty解释为:“”(空字符串),0(整数),0.0(浮点)`,“0”(字符串),NULL,NULL,array()(空数组)和“$var;”(声明的变量,但在类中没有值)。

uklbhaso

uklbhaso2#

Source :http://php.net/manual/en/types.comparisons.php本页显示empty()is_null()isset()的比较。


的数据

lg40wkob

lg40wkob3#

类型比较表给出了关于这些运算符的所有问题的答案
http://php.net/manual/en/types.comparisons.php

vulvrdjw

vulvrdjw4#

还有一点要注意的是,empty()也会检查变量是否存在。也就是说,如果我们对没有声明的变量执行empty(),我们不会收到错误,empty()返回“true”。因此,如果接下来我们需要检查变量是否为空,我们可以避免isset()
所以

isset($var) && !empty($var)

字符串
将等于

!empty($var)

sf6xfgos

sf6xfgos5#

isset-确定是否设置了变量并且该变量不是NULL。
!empty-判断一个变量是否为非空。

hi3rlvi2

hi3rlvi26#

如果变量未被设置或为null,则Isset返回false;如果变量已被设置且不为null,则返回true。
!empty如果变量已设置且不为空,则返回true。空字符串、空数组、“0”、0和false被定义为空。

ktca8awb

ktca8awb7#

当已经存在一个检查true或false的条件时,使用!empty。
isset是更基本的。empty包含更多的检查,因此需要小心使用。

相关问题