php - 不能在写上下文中使用函数返回值?

标签 php

<分区>

我有这个代码:

public function __construct($Directory = null) 
{
    if ($Directory === null) {
        trigger_error("Directory Must Be Set!", E_USER_ERROR);
    }
    if (isset($Directory)) {
        if (!empty(trim($Directory))) { //Error Line
            echo "test"; 
        }
    }
}

( echo 是为了我的调试目的。)

我收到 fatal error :

Can't use function return value in write context

根据 PHP storm 这返回:

Variable Expected

但是直接使用这个问题的代码:

White spaces throwing off HTML form validation

这是正确的语法,因为我过去使用过它...但是,在这种情况下,这是抛出一个错误。这是为什么?

最佳答案

来自 empty 函数的 PHP 文档:

Note: Prior to PHP 5.5, empty() only supports variables; anything else will result in a parse error. In other words, the following will not work: empty(trim($name)). Instead, use trim($name) == false.

因此,您必须将该行拆分为以下内容:

$trimDir = trim($Directory);
if(!empty($trimDir))

关于php - 不能在写上下文中使用函数返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17139264/

相关文章:

php - 如何将帖子连接到帖子列表

php - 插入表单并多次上传

javascript - HTML Tidy 在 JavaScript 字符串文字中的脚本标记上失败

php - 通过 mySQL 数据库中的 PHP 编程检查范围子集中的 LIMIT 2

javascript - 从 javascript 到 php 的安全请求?

echo 中的php if语句

php - PHP 可以做相当简单的继承事情吗?

php - 将数据库 ID 混淆为面向客户的号码

PHP:将 "’“字符从 ISO-8859-1 转换为 UTF-8 时出现问题

PHP OOP 查询返回空白或数组