【发布时间】:2016-09-04 00:13:26
【问题描述】:
我试过这段代码:
<?php
if(isset($a) && ($a ==4)) echo "$a ==4";
?>
我很惊讶我没有收到错误,因为 $a 没有定义。我认为一个人需要写
<?php
if(isset($a))
if($a == 4) echo "$a == 4";
?>
如果我同时检查isset($a) 和($a ==4),为什么第一个版本没有抛出错误?使用短代码if(isset($a) && ($a ==4))有什么缺点吗?我不相信它,但是当需要 else 分支时它变得非常方便。
【问题讨论】:
-
并在第一个错误时停止
-
这是您的问题的good answer。
-
这叫做“惰性求值”....不必费心检查后续条件,因为不管它们是什么,最终结果总是错误的
标签: php