我想知道是否有一种简化的方法来执行检查多个条件的if
语句,它使用来自同一函数的数据。
if($class->function($id) && $class->function($id)['key'] > 0)
{
//Do something...
}
这里的问题是我们正在进行2次数据库调用以检索相同的数据。一个明显的解决方案是执行以下操作:
$classVariable = $class->function($id);
if($classVariable && $classVariable['key'] > 0)
{
//Do something...
}
我的问题具体是,我可以在if
声明中获得相同的效果吗?例如(这不起作用):
if($classVariable = $class->function($id) && $classVariable['key'] > 0
{
//Do something...
}
这是否可行,是否有一种首选方式?在我看来,在同一语句中定义和使用它将是更清晰的代码...
答案 0 :(得分:1)
正如Niet所说,在$ classVariable赋值周围使用括号(),事情应该有效。
(我只想将此作为答案而不是评论发布,以便问题得到解决,对不起Niet)
由OP编辑以在代码中显示答案...
if(($classVariable = $class->function($id)) && $classVariable['key'] > 0)
{
//Do something...
}