Hec*_*nez 3 php operator-precedence comparison-operators
从我所看到的,运算符优先级在这两个示例中是有意义的:
$a = false;
$b = true;
$c = $a || $b;
Run Code Online (Sandbox Code Playgroud)
这里 $c 是真的
$a = false;
$b = true;
$c = $a or $b;
Run Code Online (Sandbox Code Playgroud)
这里 $c 是假的
我明白这背后的原因。但是以下内容:
$a = false;
$b = true;
return $a or $b;
Run Code Online (Sandbox Code Playgroud)
返回 true,这让我很困惑。
这是什么原因?
or的优先级低于=,因此:
$c = $a or $b;
Run Code Online (Sandbox Code Playgroud)
变成这样:
($c = $a) or $b;
Run Code Online (Sandbox Code Playgroud)
但这没有意义:
(return $a) or $b;
Run Code Online (Sandbox Code Playgroud)
所以你得到这个:
return ($a or $b);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
44 次 |
| 最近记录: |