致命错误:无法在写入上下文中使用函数返回值

时间:2016-02-22 18:56:45

标签: php laravel

我在我的PHP代码中遇到致命错误,我在这里更像是一个SQL人员,所以我会非常感激一些指导。

if (isset(Auth::check() || Auth::attempt())) {  $auth_id = Auth::user()->id; }

致命错误:在写上下文中不能使用函数返回值。我认为代码是正确的,但也许我写错了?

1 个答案:

答案 0 :(得分:2)

这是完全错误的:

(isset(Auth::check() || Auth::attempt()))

isset检查变量是否存在。你不是那样做的。您正在测试是否存在逻辑OR操作的结果。

根据定义,逻辑运算将始终产生结果,因此在测试结果存在时确实存在零点。您很可能只是想测试OR操作是否评估为真/假,在这种情况下isset()无论如何都是无用的。

尝试

if (Auth::check() || Auth::attempt()) { ... }

代替。或者适用于从这两个调用中获得的返回值的任何逻辑。