php 运算符优先级

php 运算符优先级:

先算乘除后算加减,遇到括号先算括号内,运算符优先级指定了两个表达式绑定得有多“紧密”,例如,表达式 1 + 5 * 3 的结果是 16 而不是 18 是因为乘号(“*”)的优先级比加号(“+”)高,必要时可以用括号来强制改变优先级,例如:(1 + 5) * 3 的值为 18,如果运算符优先级相同,则使用从左到右的左联顺序.

运算符优先级 结合方向 运算符 附加信息

非结合 clone new clone 和 new

左 [ array()

非结合 ++ -- 递增/递减运算符

非结合 ~ - (int) (float) (string) (array) (object) (bool) @ 类型

非结合 instanceof 类型

右结合 ! 逻辑操作符

左 * / % 算术运算符

左 + - . 算术运算符和字符串运算符

左 << >> 位运算符

非结合 < <= > >= <> 比较运算符

非结合 == != === !== 比较运算符

左 & 位运算符和引用

左 ^ 位运算符

左 | 位运算符

左 && 逻辑运算符

左 || 逻辑运算符

左 ? : 三元运算符

右 = += -= *= /= .= %= &= |= ^= <<= >>= 赋值运算符

左 and 逻辑运算符

左 xor 逻辑运算符

左 or 逻辑运算符

左,多处用到

例子  名称   结果

-$a   取反   $a 的负值。

$a + $b   加法    $a 和 $b 的和。

$a - $b   减法   $a 和 $b 的差。

$a * $b   乘法   $a 和 $b 的积。

$a / $b   除法   $a 除以 $b 的商。

$a % $b  取模   $a 除以 $b 的余数。

  1. <?php
  2. $a=10;
  3. $b=20;
  4. echo -$a; //取反 $a 的负值。 -10
  5. echo "<br/>";
  6. echo $a+$b; //加法 $a 和 $b 的和。 30
  7. echo "<br/>";
  8. echo $a-$b; //减法 $a 和 $b 的差。 -10
  9. echo "<br/>";
  10. echo $a*$b; //乘法 $a 和 $b 的积。 200
  11. echo "<br/>";
  12. echo $a / $b; //除法 $a 除以 $b 的商。 0.5
  13. echo "<br/>";
  14. echo $a % $b; //取模 $a 除以 $b 的余数。 10
  15. echo "<br/>";
  16. ?>
  17. <?php
  18. $a = 3 * 3 % 5; // (3 * 3) % 5 = 4
  19. $a = true ? 0 : true ? 1 : 2; // (true ? 0 : true) ? 1 : 2 = 2
  20. $a = 1;
  21. $b = 2;
  22. $a = $b += 3; // $a = ($b += 3) -> $a = 5, $b = 5
  23. ?>