Menu
Coddy logo textTech

Operator Precedence

Часть раздела Основы путешествия по PHP на Coddy. Урок 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