我认为下面的代码应该可以工作,但它不能(编辑:现在可以在PHP5.5+中工作):
如果(!empty($r->;getError()))
其中getError()只是:
公共函数getError()
{
返回$this->;错误;
}
但我最终还是犯了这个错误:
无法在写上下文中使用方法返回值
这是什么意思?这不就是一本书吗
empty()
然而,真正的问题是,您根本没有使用empty(),错误地认为“empty”值与“false”不同
Empty只是的别名!伊塞特($thing)| |$东西。当您要检查的内容始终存在时(在PHP中,函数调用的结果始终存在),则empty()函数只不过是一个否定运算符
PHP没有空的概念。计算结果为false的值为空,计算结果为true的值为非空。是一样的。此代码:
$x=something();
如果(空($x))…
这是:
$x=something();
如果(!$x)…
在所有情况下,对于所有数据类型,始终具有相同的结果(因为$x是定义的空()是冗余的)
方法的返回值始终存在(即使没有Return语句,返回值也存在并包含null)。因此:
如果(!empty($r->;getError()))
逻辑上等同于:
if($r->;getError())