Skip to content

5.6 运算符优先级

运算符优先级决定了表达式中运算的执行顺序,了解优先级可以避免因运算顺序错误导致的逻辑问题。

运算符优先级表

优先级运算符描述
1()括号
2!, ~, ++, --逻辑非、按位取反、自增、自减
3*, /, %乘法、除法、取模
4+, -, .加法、减法、字符串连接
5<, <=, >, >=比较运算符
6==, !=, ===, !==相等性运算符
7&按位与
8^按位异或
9``
10&&逻辑与
11`
12?:三元运算符
13=, +=, -=, *=, /=, %=, .=赋值运算符
14and逻辑与(低优先级)
15xor逻辑异或(低优先级)
16or逻辑或(低优先级)

示例代码

php
<?php
// 运算符优先级示例

// 括号的优先级最高
$result1 = (10 + 5) * 2; // 先计算 10+5,再乘以 2
echo "(10 + 5) * 2 = $result1<br>";

// 乘法优先级高于加法
$result2 = 10 + 5 * 2; // 先计算 5*2,再加上 10
echo "10 + 5 * 2 = $result2<br>";

// 逻辑与优先级高于逻辑或
$a = true;
$b = false;
$c = true;
$result3 = $a || $b && $c; // 先计算 $b && $c,再计算 $a || 结果
echo "$a || $b && $c = " . var_export($result3, true) . "<br>";

// 赋值运算符优先级最低
$x = 10;
$y = 5;
$z = $x + $y; // 先计算 $x + $y,再赋值给 $z
echo "z = x + y → z = $z<br>";
?>

注意事项

  1. 使用括号可以明确指定运算顺序,提高代码可读性
  2. 复杂表达式中应使用括号来避免优先级混淆
  3. 赋值运算符的优先级最低,通常在表达式计算完成后才执行

练习

  1. 编写包含多种运算符的表达式,观察运算顺序
  2. 使用括号改变运算顺序,验证结果是否符合预期

© 2026 编程马·菜鸟教程 版权所有