What does the percent sign mean in PHP?
It is the modulus operator:
$a % $b
= Remainder of$a
divided by$b
.
It is often used to get "one element every N elements". For instance, to only get one element each three elements:
for ($i=0 ; $i<10 ; $i++) {
if ($i % 3 === 0) {
echo $i . '<br />';
}
}
Which gets this output:
0
3
6
9
(Yeah, OK, $i+=3
would have done the trick; but this was just a demo.)
It's the modulus operator, as mentioned, which returns the remainder of a division operation.
Examples: 3%5
returns 3, as 3 divided by 5 is 0 with a remainder of 3.
5 % 10
returns 5, for the same reason, 10 goes into 5 zero times with a remainder of 5.
10 % 5
returns 0, as 10 divided by 5 goes exactly 2 times with no remainder.
In the example you posted, (3 - 2 + 7)
works out to 8, giving you 8 % 7
, so $number
will be 1
, which is the remainder of 8/7.