PHP - 在If语句中使用OR

时间:2015-11-16 20:11:10

标签: php operators

我正在读一本关于PHP的书,我得到了以下表达式:

if ($finished == 1 OR getnext() == 1) exit;

据说如果$ finished为true,则从不执行getnext函数;

接下来解释说如果我们将函数传递给if语句之前的变量,就像这样:

$gn = getnext();

并在if语句中使用它:

if($finished == 1 OR $gn == 1) exit;

如果第一个条件为真,则还检查第二个条件......

有什么区别?我无法抓住它

1 个答案:

答案 0 :(得分:0)

大多数语言,包括PHP将停止评估是否不再需要它。

因此,如果你的书说它检查变量而不是功能,即使第一次评估是真的,那么我也不相信。

$hi = function(){
  echo "hi"; return true;
};

function hi(){
  echo "hi"; return true;
}

echo true || $hi() ? 'true' : ''; // true
echo true || hi() ? 'true' : '';  // true

此结果表明该函数未在语句后执行。