Using the PHP Modulus Operator
The modulus operator is very useful and quite often not known by many new developers. To best describe what it does, I will give an example of where it is useful.
First imaging you are looping through an array of monkeys and want to highlight every third monkey in bold. This is how it is done using the modulus operator:
# Make array of monkeys
$monkeys = array('Micky','Bubbles','George','James','Rupert');
$i=0;
foreach ($monkeys as $monkey)
{
$i++;
if ($i % 3 == 0)
{
echo '< b >'.$monkey.'</ b ><br />';
}
else
{
echo $monkey . '<br />';
}
}
In our example, only “George” would be highlighted in bold (wrapped in the bold tag).
The important part here is the if statement. What we are finding out is if $i is a multiple of 3 (i.e. it is either 0,3,6,9,12… etc.).
What the modulus operator, represented as % in php, does is give you the remainder after $i is divided by 3 cleanly. By cleanly we mean without any fraction.
So if we step through each loop:
$i = 1 … the remainder is 1
$i = 2 … the remainder is 2
$i = 3 … the remainder is 0
$i = 4 … the remainder is 1
… and so on
Yes this does feel like a maths lesson and yes it is a bit difficult to understand, but this is a very useful tool to know so please do not understimate.
