1

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

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

但是我遇到了一个错误...... PHP 编译器是否允许这样做?

PS。我正在使用 PHP 5.3

4

2 回答 2

3

PHP 编译器是否允许这样做?

查看有关空的手册页

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

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

于 2012-12-22T16:37:40.470 回答
1

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

if($user = User::find($id))
   // do some operations on the $user
}
else
{
   // no user found 
}
于 2012-12-22T16:32:34.900 回答