首页 > 解决方案 > 或 偏好随着退货而改变

问题描述

从我所见,运算符优先级在这两个示例中是有意义的:

$a = false;
$b = true;
$c = $a || $b;

这里 $c 是真的

$a = false;
$b = true;
$c = $a or $b;

这里 $c 是假的


我理解它背后的原因。但是以下内容:

$a = false;
$b = true;
return $a or $b;

返回真,这让我很困惑。

这是什么原因?

标签: phpoperator-precedencecomparison-operators

解决方案


or的优先级低于=,因此:

$c = $a or $b;

变成这样:

($c = $a) or $b;

但这没有意义:

(return $a) or $b;

所以你得到这个:

return ($a or $b);

推荐阅读