我知道它可能是一个" noob问题"但我想知道我应该使用哪一个命题:
<div class="form-group row datalist-item add-rem-anim" ng-repeat="article in articles.articles | filter:articles.search track by $index">
问题是,我问的是&#34; OR&#34;在这种情况下自然会说&#34; 1. if(!isset($foo) OR (isset($foo) AND $foo == $bar)) {}
2. if(!isset($foo) OR $foo == $bar) {}
存在,如果你愿意,你可以查看他的价值&#34;或者如果你必须指明它可能存在(使用$foo
的东西)。
感谢您的回答,对不起我的appromixative english .... :)
答案 0 :(得分:1)
OR
,AND
,||
和&&
都会执行short-circuit evaluation。 OR
和||
从左到右评估他们的参数,直到他们达到第一个真值,然后返回。 AND
和&&
从左到右评估他们的参数,直到他们达到第一个假值并返回它。在这两种情况下,他们都不会评估任何剩余的论点。
所以你应该使用#2,因为当!isset($foo)
为真时它永远不会评估第二个表达式,所以不需要再次检查isset($foo)
。