如:
return empty(!$val);
和 return!$ val();
只做一个布尔条件,如:
if (!empty($val)) {}
和
if ($val) {}
答案 0 :(得分:3)
确定变量是否为空。如果变量不存在或者其值等于FALSE,则该变量被视为空。如果变量不存在, empty()不会生成警告。
它避免了诸如$_GET['foo']
之类的情况的错误,在这种情况下,您无法保证URL包含foo
查询字符串参数。
答案 1 :(得分:3)
PHP doc非常明确。没有什么可补充的:
http://php.net/manual/en/function.empty.php
确定变量是否为空。变量是 如果它不存在或者其值等于FALSE则认为为空。 如果变量不存在,empty()不会生成警告。
和
以下内容被认为是空的:
"" (an empty string) 0 (0 as an integer) 0.0 (0 as a float) "0" (0 as a string) NULL FALSE array() (an empty array) $var; (a variable declared, but without a value)
答案 2 :(得分:2)
从手册:
如果变量不存在,则不会生成警告。这意味着empty()基本上是!isset($ var)||的简洁等价物$ var == false。
换句话说,除了没有发出警告之外,它们完全相同。