小编典典

为什么要同时检查 isset() 和 !empty()

all

isset和之间有区别吗!empty?如果我做这个双重布尔检查,这种方式是正确的还是多余的?有没有更短的方法来做同样的事情?

isset($vars[1]) AND !empty($vars[1])

阅读 91

收藏
2022-04-26

共1个答案

小编典典

这是完全多余的。empty或多或少是 的简写!isset($foo) || !$foo!empty类似于isset($foo) && $foo. 即empty做相反的事情,isset加上额外检查一个值的 真实性

或者换句话说,empty与 相同!$foo,但如果变量不存在,则不会引发警告。这就是这个函数的要点:做一个布尔比较而不用担心被设置的变量。

手册是这样写的:

empty()与 相反(boolean) var只是在未设置变量时不生成警告。

你可以简单地!empty($vars[1])在这里使用。

2022-04-26