让我说我有这样的事情:
if(1 == 0 && do_stuff()) {
...
}
显然1不是0,所以没有必要检查其他条件。那么PHP是否运行do_stuff()
?
答案 0 :(得分:40)
否 - PHP使用延迟评估(有时称为短路评估),因此如果逻辑AND中的第一个条件为假,则不会尝试评估任何其他条件。
同样,如果您正在进行OR并且第一个条件为真,则不会评估第二个条件。
答案 1 :(得分:4)
如果第一个条件为假,那么php永远不会在&&中运行第二个条件运营商
答案 2 :(得分:1)
不,在这种情况下它不会执行do_stuff()
。