在我的php应用程序中,我执行以下检查:
if(($images = $main->get_images($data['id'])) || ($videos = $main->get_videos($data['id']))){
(...)
if($videos){
(...)
}
if($images){
(...)
}
}
此操作会发回错误,说明$ videos未定义。我的猜测是,如果第一个陈述是真的,那么第二个陈述就不会被检查。是否有任何简洁的方法来执行第二次检查,即使是第一次检查也是如此,因为在这种情况下如果图像为真,则视频将被评估为假
答案 0 :(得分:1)
没有办法。你需要把它重写成这样的东西......
$images = $main->get_images($data['id']);
$videos = $main->get_videos($data['id']);
if($images || $videos){
(...)
if($videos){
(...)
}
if($images){
(...)
}
}
仅仅是FYI ......操作顺序意味着您不需要将条件括在()括号中。在OR运算符(包括&&运算符)之前几乎所有内容都被计算出来。
祝你好运!乔伊
答案 1 :(得分:0)
您可以使用empty()
查看变量是否不存在或是否为空。例如
if(!empty($videos)) {
(...)
}