Avatar ·

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 为什么会这样?看起来逻辑很清晰:我获取对象并检查它的属性。我哪里做错了?如何正确编写这样的检查? 我尝试了不同的方法:加括号、改变顺序——都没有帮助。错误出现在