我只是想确保如果您将FALSE
作为参数传递给empty()
,它将返回TRUE
:
var_dump(empty(FALSE));
但我不能。 这是我得到的:
PHP Parse error: syntax error, unexpected ')', expecting :: (T_PAAMAYIM_NEKUDOTAYIM) in Command line code on line 1
当我在cmd中运行此代码时:
C:\>php -r "echo empty(FALSE);";
我得到了这个结果:
PHP Parse error: syntax error, unexpected ')', expecting :: (T_PAAMAYIM_NEKUDOTAYIM) in Command line code on line
Parse error: syntax error, unexpected ')', expecting :: (T_PAAMAYIM_NEKUDOTAYIM) in Command line code on line 1
我以为我会回复1
或0
。但它没有。
有什么想法吗?
答案 0 :(得分:4)
empty
仅允许传递命名变量。
在PHP 5.5之前,empty()仅支持变量;其他任何东西都会导致解析错误。换句话说,以下将不起作用:empty(trim($ name))。相反,使用trim($ name)== false。
同样来自同一页,
如果变量不存在,empty()不会生成警告。
答案 1 :(得分:1)
empty
需要一个变量。你需要传递一个这样的变量:
$var = false;
if (empty($var))
答案 2 :(得分:1)
Changelog
Version Description
5.5.0 empty() now supports expressions, rather than only variables.