下表显示了迄今为止学习过的运算符的优先顺序:
运算符 | 描述 |
---|---|
++ , -- |
递增/递减运算 |
! |
逻辑运算 |
* , / , % |
算术运算 |
+ , - |
算术运算 |
< , <= , > , >= |
比较运算 |
== , != , === , !== |
比较运算 |
&& |
逻辑运算 |
ΙΙ | 逻辑运算 |
= , += , -= , *= , /= , %= , **= |
分配 |
表达式3 + 2 * 3
将首先评估乘积2 * 3
然后再求和,因此结果为9
而不是15
。
要以特定顺序执行操作(与自然优先顺序不同),请通过将操作括在括号内来强制执行操作。
因此,(3 + 2)* 3
将首先执行总和,然后执行计算,这次结果为15
。
示例代码
<?php
$a = 1;
$b = 3;
$c = true;
$d = false;
$e = $a + $b > 5 || $c; // true
var_dump($e);
$f = $e == true && !$d; // true
var_dump($f);
$g = ($a + $b) * 2 + 3 * 4; // 20
var_dump($g);
?>
执行上面示例代码,得到以下结果:
D:\>php test.php
bool(true)
bool(true)
int(20)