在写上下文中不能使用方法返回值
我认为以下代码应该可以工作,但是不能 :
if (!empty($r->getError()))
getError()
简单地在哪里:
public function getError(){
return $this->error;
}
但是我最终遇到了这个错误:
在写上下文中不能使用方法返回值
这是什么意思?这不只是阅读吗?
回答:
empty()
需要通过引用访问该值(以检查该引用是否指向存在的对象),并且5.5之前的PHP不支持对从函数返回的临时值的引用。
但是,您真正的问题是,您empty()
根本使用了所有内容,错误地认为“空”值与“假”有什么不同。
空只是的别名!isset($thing) ||
!$thing。当您要检查的事物始终存在时(在PHP中,函数调用的结果始终存在),该empty()
函数 不过是一个否定运算符 。
PHP 。评估为false的值为空,评估为true的值非空。这是同一件事。这段代码:
$x = something();if (empty($x)) …
和这个:
$x = something();if (!$x) …
具有 (因为$x
定义empty()
是多余的)。
方法的返回值始终存在(即使您没有return
语句,返回值也存在并包含null
)。因此:
if (!empty($r->getError()))
在逻辑上等效于:
if ($r->getError())
以上是 在写上下文中不能使用方法返回值 的全部内容, 来源链接: utcz.com/qa/398235.html