13.2.13. Порядок выполнения операций

Когда вычисляется арифметическое выражение, существует заданный порядок, в котором выполняются операции. Этот порядок называется приоритетом операций. Умножение и деление имеют преимущество (и выполняются первыми) перед сложением и вычитанием, при движении в выражении слева направо. Этот порядок имеет важное влияние на то, будут ли получены ожидаемые результаты. Рассмотрим следующие объявления и присваивания.

<?php

$num1 = 4;

$num2 = 5;

$num3 = 2;

$answer = $num1 * $num2 - $num3;

echo $answer;

?>

Получающееся значение будет равно 18. Сначала $num1 умножается на $num2, чтобы получить 20; затем $num3 вычитается из 20, чтобы получить 18. Предположим, однако, что в действительности надо сначала вычесть $num3 из $num2, а затем умножить на $num1, чтобы получить 12. Показанное выше выражение не создаст этот результат, потому что умножение имеет приоритет перед вычитанием и выполнится первым.

Поэтому часто необходимо переопределить порядок выполнения операций и явно управлять порядком вычисления выражения. Для этого используют скобки (), которые могут помочь изменить порядок выполнения арифметических операций. Приведенный выше пример можно переписать следующим образом.

<?php

$num1 = 4;

$num2 = 5;

$num3 = 2;

$answer = $num1 * ($num2 - $num3);

echo $answer;

?>

В этот раз $answer равно 12. $num3 вычитается из $num2, чтобы получить 3. Затем 3 умножается на $num1.

Операторы присваивания используются для изменения значения текущей переменной на значение справа от оператора. В следующей таблице представлены операторы присваивания языка PHP.

Оператор Описание

= Переменной слева присваивается вычисленное справа значение

+= Складывает значение слева со значением справа и присваивает результат переменной слева

-=  Вычитает значение справа из значения слева и присваивает результат переменной слева

*= Умножает значение справа на значения слева и присваивает результат переменной слева

/= Делит значение слева на значение справа и присваивает результат переменной слева

%= Делит значение слева на значение справа и присваивает остаток (по модулю) переменной слева

.= Значение слева соединяется (конкатенация) со значением справа, и результат присваивается переменной слева

Операторы сравнения используются для сравнения значений. В следующей таблице представлены операторы сравнения языка PHP.

Оператор Описание

== равно

!= не равно

> больше

< меньше

>= больше или равно

<= меньше или равно

Логические операторы позволяют определять состояние условий. В зависимости от условия переменной в сценарии могут происходить различные действия. Логические операторы широко используются в управляющих структурах PHP. В следующей таблице представлены логические операторы языка PHP.

Оператор  Описание

&& AND (И)

|| OR (ИЛИ)

! NOT (НЕ)