Remember basic arithmetic from school? These work just like those.
| Example | Name | Result |
|---|---|---|
+$a | Identity | Conversion of$a toint orfloat as appropriate. |
-$a | Negation | Opposite of$a. |
$a + $b | Addition | Sum of$a and$b. |
$a - $b | Subtraction | Difference of$a and$b. |
$a * $b | Multiplication | Product of$a and$b. |
$a / $b | Division | Quotient of$a and$b. |
$a % $b | Modulo | Remainder of$a divided by$b. |
$a ** $b | Exponentiation | Result of raising$a to the$b'th power. |
The division operator/ returns afloat value unless the two operands areint (ornumeric strings which are type juggled toint) and the numerator is a multiple of the divisor, in which case an integer value will be returned. For integer division, seeintdiv().
Operands of modulo are converted toint before processing. For floating-point modulo, seefmod().
The result of the modulo operator% has the same sign as the dividend — that is, the result of$a % $b will have the same sign as$a. For example:
Example #1 The Modulo Operator
<?php
var_dump(5%3);
var_dump(5% -3);
var_dump(-5%3);
var_dump(-5% -3);
?>The above example will output:
int(2)int(2)int(-2)int(-2)
