1

我只是想确保如果您将FALSE其作为参数传递给 an 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。但事实并非如此。有任何想法吗?

4

3 回答 3

4

empty只允许传递命名变量。

来自http://php.net/empty

在 PHP 5.5 之前,empty() 只支持变量;其他任何事情都会导致解析错误。换句话说,以下内容将不起作用:empty(trim($name))。相反,使用 trim($name) == false。

同样来自同一页面,

如果变量不存在,empty() 不会生成警告。

于 2013-04-09T17:23:36.273 回答
1

empty需要一个变量。你需要像这样传递一个变量:

$var = false;
if (empty($var))
于 2013-04-09T17:24:09.470 回答
1
Changelog

Version    Description
5.5.0      empty() now supports expressions, rather than only variables.

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

于 2013-04-09T17:24:24.283 回答