PHP - 函数调用中的变量赋值

时间:2012-12-22 16:30:22

标签: php

我有以下代码,我尝试为变量赋值,然后评估它是否为空:

if(!empty($user = User::find($id))){
   // do some operations on the $user
}

但我收到错误... PHP编译器是否以任何方式允许这样做?

PS。我正在使用PHP 5.3

2 个答案:

答案 0 :(得分:3)

  

PHP编译器是否以任何方式允许这样做?

结帐manual page about empty

  

在PHP 5.5之前,empty()仅支持变量;其他任何东西都会导致解析错误。

在您的代码中,您有赋值操作而不是普通变量。

答案 1 :(得分:1)

一般来说,如果函数无法找到某些东西,即用户,那么无论如何都会返回false - 所以这就是我通常所做的:

if($user = User::find($id))
   // do some operations on the $user
}
else
{
   // no user found 
}