Php 为什么这会导致错误?

Php 为什么这会导致错误?,php,Php,我有这个代码线 define('CSV_TEXTSIGN', ''); $var = ( empty( trim( CSV_TEXTSIGN ) ) ? '"' : CSV_TEXTSIGN ); 这会导致错误 Fatal error: Can't use function return value in write context in... line XX 但是只有有效的函数 bool empty ( mixed $var ) string trim ( string $str [,

我有这个代码线

define('CSV_TEXTSIGN', '');

$var = ( empty( trim( CSV_TEXTSIGN ) ) ? '"' : CSV_TEXTSIGN );
这会导致错误

Fatal error: Can't use function return value in write context in... line XX
但是只有有效的函数

bool empty ( mixed $var )
string trim ( string $str [, string $charlist ] )
我尝试在define中切换“with”,并使用vars代替常量

我瞎了吗? 有人能告诉我出了什么问题吗?

来自:

在PHP5.5之前,empty()只支持变量;其他任何操作都会导致解析错误。换句话说,以下操作将不起作用:empty(trim($name))。请改用trim($name)==false。

因此,您的代码可能如下所示:

$var = (!trim(CSV_TEXTSIGN) ? '"' : CSV_TEXTSIGN );
或:

从:

在PHP5.5之前,empty()只支持变量;其他任何操作都会导致解析错误。换句话说,以下操作将不起作用:empty(trim($name))。请改用trim($name)==false。

因此,您的代码可能如下所示:

$var = (!trim(CSV_TEXTSIGN) ? '"' : CSV_TEXTSIGN );
或:

在PHP 5.5之前,empty()只支持变量;其他任何操作都会导致分析错误。换句话说,以下操作将不起作用:empty(trim($name))。请改用trim($name)==false。

From


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

empty实际上不是一个函数,它是一个语言构造(类似于echo)。因此,PHP对其进行不同的分析。empty()仅接受变量作为参数。请阅读有关语言构造的详细信息

因此,要回答您的问题,请执行以下操作:

define('CSV_TEXTSIGN', '"');
$trimmedVal = trim( CSV_TEXTSIGN );

$var = ( empty( $trimmedVal ) ? '"' : CSV_TEXTSIGN );

Empty实际上不是一个函数-它是一个语言构造(类似于echo)。因此,PHP对其进行不同的解析。Empty()只接受变量作为参数。请阅读有关语言构造的详细信息

因此,要回答您的问题,请执行以下操作:

define('CSV_TEXTSIGN', '"');
$trimmedVal = trim( CSV_TEXTSIGN );

$var = ( empty( $trimmedVal ) ? '"' : CSV_TEXTSIGN );

天哪…这是当你坐在代码前面8小时时得到的结果…你会忘记阅读有用的注释和提示!!:D THX…天哪…这是当你坐在代码前面8小时时得到的结果…你会忘记阅读有用的注释和提示!!:D THX…不完全一样…这是相同的错误,但不是我的问题…这是trim与empty组合。“复制”是从empty处理的,并表示non关于trim^^^搜索错误消息时在google上的答案是#1不完全相同..这是相同的错误,但不是我的问题..这是trim与empty组合的结果。“复制”“是从空开始处理的,sayes non关于trim^^^搜索错误消息时,谷歌的答案是#1