Menu
CoddyTech

运算符优先级

本课属于 Coddy PHP 学习旅程的“基础知识”单元。第 20 课,共 71 课。

当一个表达式包含多个运算符时,PHP 会遵循特定的顺序,称为运算符优先级。和数学一样,乘法和除法会先于加法和减法执行。

<?php
echo 5 + 3 * 2; // 输出:11,而不是 16
?>

PHP 会先计算 3 × 2(得到 6),然后再加上 5。如果运算符的优先级相同,它就会从左到右计算:5 + 3 = 8,然后 8 × 2 = 16。但实际并不是这样。

下面是你学过的运算符从高到低的优先级:

优先级运算符
最高**(乘方)
高* / %
低+ -

若要改变默认顺序,请使用括号。括号内的运算总是优先计算:

<?php
echo (5 + 3) * 2;  // 输出:16
echo 2 ** 3 * 2;   // 输出:16(8 * 2)
echo 2 ** (3 * 2); // 输出:64(2^6)
?>

不确定时,可以使用括号来明确表达你的意图。这样能让代码更易读,也能避免意外结果。

challenge icon

挑战

简单

从输入中读取三个数字:a、b 和 c。

计算并打印以下表达式的结果,使用括号确保先进行加法,再进行乘法:

(a + b) * c ** 2

这表示:先将 a 和 b 相加,然后将它们的和乘以 c 的 2 次方。

示例:

如果输入是 2、3 和 4,输出应为 80,因为:

  • 首先,计算 2 + 3 = 5
  • 然后,计算 4 ** 2 = 16
  • 最后,计算 5 * 16 = 80

亲手试试

<?php
// 读取输入
$a = intval(fgets(STDIN));
$b = intval(fgets(STDIN));
$c = intval(fgets(STDIN));

// TODO:在下方编写代码,计算 (a + b) * c ** 2

// 输出结果
echo $result;
?>
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: PHP 在线编译器