致命错误:无法在empty()的写入上下文中使用方法返回值
我得到以下错误,为什么是这样?
致命错误:不能在写入上下文中使用方法返回值
foreach ($transfer_nids as $nid) {
$wrapper = entity_metadata_wrapper('node', $nid);
$Result[] = array(
'S_name' => empty($wrapper->field_s->value()->title) ? 'no data' : $wrapper->field_s->value()->title,
'r_name' => empty($wrapper->title->value()) ? 'no data' : $wrapper->title->value(),
'max' => empty($wrapper->field_max->value()) ? 'no data' : $wrapper->field_max->value(),
);
}
return ai_wrap_result($Result, 'Info');
}
在PHP的较旧版本(<5.5)中,出于编译原因,不能直接在函数返回时使用empty()
。
你需要做的是将结果保存在中间变量中,并检查是否为empty()
,即,
foreach ($transfer_nids as $nid) {
$wrapper = entity_metadata_wrapper('node', $nid);
$rName = $wrapper->title->value();
$max = $wrapper->field_max->value();
$Result[] = array(
'S_name' => empty($wrapper->field_s->value()->title) ? 'no data' : $wrapper->field_s->value()->title,
'r_name' => empty($rName) ? 'no data' : $wrapper->title->value(),
'max' => empty($max) ? 'no data' : $wrapper->field_max->value(),
);
}
return ai_wrap_result($Result, 'Info');
在旧版本的PHP中(至少5.3,但不是5.6),您无法访问方法返回的对象的成员:
$ wrapper-> field_s->值() - >标题
您必须升级您的PHP版本,或使用临时变量。
链接地址: http://www.djcxy.com/p/69249.html上一篇: Fatal error: Can't use method return value in write context in empty()
下一篇: Fatal error: Can't use function return value in write context in