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; // Получим -3
    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
?>

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