PHP为什么我不能运行空(FALSE)代码?

时间:2013-04-09 17:21:52

标签: php

我只是想确保如果您将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

我以为我会回复10。但它没有。 有什么想法吗?

3 个答案:

答案 0 :(得分:4)

empty仅允许传递命名变量。

来自http://php.net/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.

http://php.net/manual/en/function.empty.php