Помните школьные основы арифметики? Арифметические операторы в PHP работают аналогично.
| Пример | Название | Результат |
|---|---|---|
+$a |
Идентичность | Приведение значения $a к типу int или float, если требуется. |
-$a |
Отрицание | Изменение знака числа $a. |
$a + $b |
Сложение | Сумма чисел $a и $b. |
$a - $b |
Вычитание | Разность чисел $a и $b. |
$a * $b |
Умножение | Произведение чисел $a и $b. |
$a / $b |
Деление | Частное от деления чисел $a и $b. |
$a % $b |
Взятие остатка | Остаток от деления чисел $a и $b. |
$a ** $b |
Возведение в степень | Степень с основанием $a и показателем $b. |
Оператор деления / возвращает значение с типом float,
если только оба операнда не значения с типом int
или числовые строки, которые приводятся
к типу int, и числитель не кратен знаменателю, при которых возвращается целочисленное значение.
Для целочисленного деления вызывают функцию intdiv().
При взятии остатка операнды приводятся к типу int перед обработкой. Для нахождения остатка от деления чисел с плавающей точкой вызывают функцию fmod().
При взятии остатка оператором % результат
наследует знак делимого, поэтому результатом вычисления выражения $a % $b
становится значение со знаком операнда $a. Например:
Пример #1 Оператор взятия остатка
<?php
var_dump(5 % 3);
var_dump(5 % -3);
var_dump(-5 % 3);
var_dump(-5 % -3);Результат выполнения приведённого примера:
int(2) int(2) int(-2) int(-2)