PHP错误“Can't use method return value in write context”:原因与解决方案
大家好。我是PHP新手,遇到了一个奇怪的错误。我写了一个简单的脚本,用于检查用户是否具有管理员权限。我使用一个返回用户对象的函数,并尝试检查它的属性。
这是我的代码:
```php
class User {
public $role;
public function __construct($role) {
$this->role = $role;
}
}
function getUser() {
// 假设用户已在数据库中找到
return new User('admin');
}
if (getUser()->role = 'admin') {
echo '您是管理员!';
} else {
echo '您没有管理员权限。';
}
```
但结果并非预期,我收到了一个致命错误:
> **Fatal error**: Can't use method return value in write context
为什么会这样?看起来逻辑很清晰:我获取对象并检查它的属性。我哪里做错了?如何正确编写这样的检查?
我尝试了不同的方法:加括号、改变顺序——都没有帮助。错误出现在