Помните основы арифметики из школы? Эти работают так же, как те.

ExampleNameResult
+$aIdentityConversion of $a to int or float as appropriate.
-$aNegationOpposite of $a.
$a + $bAdditionSum of $a and $b.
$a - $bSubtractionDifference of $a and $b.
$a * $bMultiplicationProduct of $a and $b.
$a / $bDivisionQuotient of $a and $b.
$a % $bModuloRemainder of $a divided by $b.
$a ** $bExponentiationResult of raising $a to the $b'th power.

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

Операнды по модулю перед обработкой преобразуются в int . Модуль с плавающей запятой см. в fmod() .

Результат операции по модулю %имеет тот же знак, что и делимое, то есть результат $a % $b будет иметь тот же знак, что и $a . Например:

<?php

echo (5 % 3)."\n";           // prints 2
echo (5 % -3)."\n";          // prints 2
echo (-5 % 3)."\n";          // prints -2
echo (-5 % -3)."\n";         // prints -2

?>