2.2 - Арифметические операторы в PHP

Очень часто, вернее постоянно, в программировании приходится производить разного рода вычисления. Т.е. работать с данными, а точнее с числами - складывать, умножать делить и прочее...

Для этого в PHP есть все необходимые операторы:

ПримерНазваниеРезультат
-$a Отрицание Производит смену знака $a.
$a + $b сложение Складывает $a и $b.
$a - $b вычитание Вычтет $b из $a
$a * $b умножение Перемножит $a на $b.
$a / $b деление Разделит $a на $b.
$a % $b деление по модулю Делит $a на $b и оставляет только целое число без дробной части

Пример

<?php
 
 $a = 3;
 $b = 2;

 echo -$a; // Получим -5
 echo $a + $b; // Получим 5
 echo $a - $b; // Получим 1
 echo $a * $b; // Получим 6
 echo $a / $b; // Получим 1.5
 echo $a % $b; // Получим 1

 ?>

Оператор деление ("/"), в любом случае вернет вещественный тип. Даже при условии, что оба значения имели тип "целые числа" (или строку, преобразованную в целые числа). Иначе результат станет дробным.

Оператор деление по модулю "%" корректно работает с целыми числами. Использование такого оператора к дробным числам может привести к неожиданному или точнее - к нежелательному результату. Остаток $a % $b будет отрицательным, для отрицательного значения $a.

Пример деления по модулю

<?php
 
 echo 5 % 3; // Получим 2
 echo 5 % -3; // Получим 2
 echo -5 % 3; // Получим -2
 echo -5 % -3; // Получим -2 

 ?>

Обычно, для изменения приоритетов арифметических операторов, используют обычные скобки "()". Работает по правилам арифметики

Пример изменения приоритета

<?php
 
 echo 2 + 2 * 2; // Получим 6
 echo (2 + 2) * 2; // Получим 8

 ?>

Список уроков