isset
和 !empty
有区别吗?如果我做这个双重 bool 检查,这种方式是正确的还是多余的?有没有更短的方法来做同样的事情?
isset($vars[1]) AND !empty($vars[1])
最佳答案
这完全是多余的。 empty
或多或少是 !isset($foo) || 的简写。 !$foo
,而 !empty
类似于 isset($foo) && $foo
。 IE。 empty
与 isset
做相反的事情,并额外检查一个值的 真实性。
或者换句话说,empty
与 !$foo
相同,但如果变量不存在则不会抛出警告。这就是这个函数的要点:进行 bool 比较而不用担心设置的变量。
The manual是这样说的:
empty()
is the opposite of(boolean) var
, except that no warning is generated when the variable is not set.
您可以在此处简单地使用 !empty($vars[1])
。
关于php - 为什么要同时检查 isset() 和 !empty(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4559925/