Funkcja php modulo - rozróżnianie wierszy (odd, even)

Często zachodzi potrzba pokolorowania wierszy w tabeli w kolorze zależnym od numeru wiersza. Z pomocą przychodzi funkcja modulo_rows wykorzystująca operator modulo.
Modulo to reszta z dzielenia $a przez $b, np. $modulo = $a % $b.
Funkcja modulo_rows jest uniwersalna, w parametrach wywołania funkcji określamy co ile elementów chcemy powtarzać liczenie.
  
 function modulo_rows($range, $i, $prepend = '', $append = '')
{
   $mod = $i % $range;
   
   if ($mod == 0)
   {
      $item = $range;
   }
   elseif ($mod > 0)
   {
      $item = $mod;
   }
   return $prepend . $item . $append;
}


Przykład uruchomienia, indeksy tablicy zaczynające się od 1:

 $elements = array(1 => 'a',2 => 'b',3 => 'c',4 => 'd',5 => 'e'
   );
   echo '<table><tbody>';
   
   foreach ($elements as $i => $item)
   {
      echo '<tr class="' . modulo_rows(3, $i, 'row', 'number') . '"><td>' . $item . '</td></tr>';
   }
   
   echo "</tbody></table>";
   

Przykład uruchomienia, indeksy tablicy zaczynające się od 0 (zera):

 $elements = array(0 => 'a',1 => 'b',2 => 'c',3 => 'd',4 => 'e'
   );
   echo '<table><tbody>';
   
   foreach ($elements as $i => $item)
   {
      echo '<tr class="' . modulo_rows(3, ($i + 1), 'row', 'number') . '"><td>' . $item . '</td></tr>';
   }
   
   echo "</tbody></table>";
   

Efekt końcowy dla obydwu przykładów jest taki sam:
a
b
c
d
e
Dział: