有没有之间的差异isset和!empty。如果我进行双重布尔检查,这种方法是正确的还是多余的?有没有更短的方法来做同样的事情?
isset
!empty
isset($vars[1]) AND !empty($vars[1])
这是完全多余的。empty或多或少简写!isset($foo) || !$foo,并且!empty是类似于isset($foo) && $foo。即empty做相反的事情,isset再加上一个额外的检查值的 真实性 。
empty
!isset($foo) || !$foo
isset($foo) && $foo
换句话说,empty与相同!$foo,但是如果变量不存在,则不会发出警告。这就是该函数的重点:进行布尔比较,而不必担心设置变量。
!$foo
手册说得像这样:
empty()与的相反(boolean) var, 只是未设置变量时不生成警告。
empty()
(boolean) var
您可以!empty($vars[1])在这里简单地使用。
!empty($vars[1])