为什么同时选中 isset() 和 !empty()
2022-08-30 06:05:59
和 之间是否有区别。如果我执行此双重布尔检查,则这种方式是否正确还是冗余?有没有更短的方法做同样的事情?isset
!empty
isset($vars[1]) AND !empty($vars[1])
和 之间是否有区别。如果我执行此双重布尔检查,则这种方式是否正确还是冗余?有没有更短的方法做同样的事情?isset
!empty
isset($vars[1]) AND !empty($vars[1])
这完全是多余的。 或多或少是 的简写,类似于 。即 做相反的事情加上对值真实性的额外检查。empty
!isset($foo) || !$foo
!empty
isset($foo) && $foo
empty
isset
换句话说,与 相同,但如果变量不存在,则不会引发警告。这就是这个函数的要点:做一个布尔比较,而不必担心变量被设置。empty
!$foo
手册是这样说的:
empty()
与 相反,不同之处在于未设置变量时不会生成警告。(boolean) var
您可以在此处直接使用。!empty($vars[1])
isset()
测试变量是否已设置且未设置为 null:
http://us.php.net/manual/en/function.isset.php
empty()
当变量设置为某些值时,可以返回 true:
http://us.php.net/manual/en/function.empty.php
若要演示这一点,请尝试以下代码,其中 $the_var 未赋值,设置为 0,设置为 1。
<?php
#$the_var = 0;
if (isset($the_var)) {
echo "set";
} else {
echo "not set";
}
echo "\n";
if (empty($the_var)) {
echo "empty";
} else {
echo "not empty";
}
?>