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: