Приоритет операторов в php
При использовании нескольких операторов совместно в одном выражении возникает вопрос — в каком порядке они будут выполнены? Например, пусть имеется следующий фрагмент кода:
<?php echo 4+2*9; ?>
Его результат будет зависеть от того, какой из двух операторов выполнится первым — сложение или умножение. В данном случае результат будет равен 22, так как первым выполнится оператор умножения, потому что умножение имеет более высокий приоритет по сравнению со сложением.
В рисунке приведены операторы по убыванию приоритета. Операторы с одним приоритетом выполняются по порядку слева направо.
Для изменения порядка выполнения операторов используются скобки. Пример демонстрирует использование скобок для получения различного порядка выполнения арифметических операторов, и как следствие, для получения различного результата.
<HTML> <HEAD> <TITLE>Управление порядком выполнения операторов </TITLE> </HEAD> <BODY> <H1>Управление порядком выполнения операторов </H1> <?php echo "4+2*9= ", 4+2*9, "<BR>"; echo "(4 + 2) * 9 = ", (4 + 2) * 9, "<BR>"; echo "4 + (2 * 9) = ", 4 + (2 * 9), "<BR>"; ?> </BODY> </HTML>
На рисунке приведен результат вычислений выражения с различным порядком выполнения арифметических операторов:
Автор: Стивен Хольцнер. Переводчик: С. Банников