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.
Przykład uruchomienia, indeksy tablicy zaczynające się od 1:
Przykład uruchomienia, indeksy tablicy zaczynające się od 0 (zera):
Efekt końcowy dla obydwu przykładów jest taki sam:
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ł:
Tagi: