Php Can';t在中的写入上下文中使用函数返回值

Php Can';t在中的写入上下文中使用函数返回值,php,codeigniter,Php,Codeigniter,使用此功能时出现错误消息: $estadoSelect = empty(set_value('estado'))? 23 : set_value('estado'); 我犯了这个错误 无法在中的写入上下文中使用函数返回值 为什么? 感谢在PHP5.5之前,empty需要一个变量。如中所述,传递函数的返回值将导致解析错误: 注: 在PHP5.5之前,empty()只支持变量;任何其他操作都将导致分析错误。换句话说,以下操作将不起作用:empty(trim($name)) 相反,使用trim($n

使用此功能时出现错误消息:

$estadoSelect = empty(set_value('estado'))? 23 : set_value('estado');
我犯了这个错误

无法在中的写入上下文中使用函数返回值

为什么?


感谢在PHP5.5之前,
empty
需要一个变量。如中所述,传递函数的返回值将导致解析错误:

注:

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

相反,
使用trim($name)==false

您必须将返回的值存储在变量中

$value = set_value('estado');
$estadoSelect = empty($value) ? 23 : set_value('estado');
首先,您可能不希望
为空。您只需检查变量是否为“falsy”,并通过
|
提供默认值:

$estadoSelect = set_value('estado') || 23;

如果您正在运行的PHP版本小于5.5,则“empty”函数只需要一个变量,它不支持表达式

见:

从php.net:

注:

在PHP5.5之前,empty()只支持变量;还有别的吗 导致分析错误。换言之,以下措施将不起作用:

空(修剪($name))。相反,请使用trim($name)==false


同样的错误也会出现=/