Lembra-se da aritmética básica da escola? Estes operadores funcionam exatamente como aqueles.
| Exemplo | Nome | Resultado |
|---|---|---|
| +$a | Identidade | Conversão de $a para int ou float conforme apropriado. |
| -$a | Negação | Oposto de $a. |
| $a + $b | Adição | Soma de $a e $b. |
| $a - $b | Subtração | Diferença entre $a e $b. |
| $a * $b | Multiplicação | Produto de $a e $b. |
| $a / $b | Divisão | Quociente de $a e $b. |
| $a % $b | Módulo | Resto de $a dividido por $b. |
| $a ** $b | Exponencial | Resultado de $a elevado a $b. Introduzido no PHP 5.6. |
O operador de divisão ("/") sempre retorna um valor com ponto flutuante, a não ser que os dois operandos sejam inteiros (ou strings que são convertidas para inteiros) e números inteiramente divisíveis, nesse caso um inteiro é retornado. Para divisão de inteiros, veja intdiv().
Operandos de módulo são convertidos para inteiros (removendo a parte decimal) antes do processamento. Para módulos de ponto flutuante, veja fmod().
O resultado do operador de módulo % tem o mesmo sinal do dividendo — ou seja, o resultado de $a % $b terá o mesmo sinal de $a. Exemplos:
<?php
echo (5 % 3)."\n"; // imprime 2
echo (5 % -3)."\n"; // imprime 2
echo (-5 % 3)."\n"; // imprime -2
echo (-5 % -3)."\n"; // imprime -2
?>
Veja também a página do manual sobre funções matemáticas.