Liczby parzyste i nieparzyste za pomocą pętli w PHP

Sprawdzenie w pętli, czy dana liczba jest parzysta, czy nie parzysta jest częstym zadaniem web developera.   Zwykle potrzebujemy takiego kodu do zrobienia np.  zebry w tabeli za pomocą dodania co drugi element różnej klasy. Można wykonać to za pomocą CSS, ale dodanie klasy w HTML daje nam później większe możliwości.

Zebry, ilustracja do artykułu o wykrywaniu liczb parzystych i nieparzystych w PHP
Zebry, ilustracja do artykułu o wykrywaniu liczb parzystych i nieparzystych w PHP | envato, autor gpointstudio

Przykład do nauki i wyjaśnienia tego problemu będzie prosty, bo bazujący na wygenerowanych kolejnych iteracjach pętli for. W realnych aplikacjach najczęściej przechodzić będziecie przez dane zwrócone z bazy danych, gdzie też będzie trzeba zdobyć licznik $ii kolejnych elementów. Przykładowo Laravel w swoich Blade Templates, kiedy wykonujemy iteracje za pomocą jednej z pętli, daje nam możliwość zwrócenia w jej środku wartość aktualnej iteracji, zaczynając od 0 za pomocą $loop->index.

Niezależnie skąd pobierzecie wartość $i musicie sprawdzić resztę z dzielenia za pomocą operatora modulo, gdzie wyrażenie wyliczające resztę z dzielenia ma ogólną postać $a % $b.

Chcąc sprawdzać, czy liczba jest liczbą parzystą,  $a musi być naszym licznikiem iteracji i musimy podzielić go przez $b = 2, wynik musi zwrócić 0, bo liczba parzysta dzielona przez dwa zwraca reszty 0. W przypadku chęci sprawdzenia, czy liczba jest nieparzysta wyrażenie musi mieć postać $i%2!=0

Liczby parzyste PHP

W przykładowej pętli  sprawdzającej, czy liczba jest parzysta, wygląda to następująco: 

for($i=0; $i < 100; $i++) {

if($i%2==0) {

print_r("Liczba parzysta $i \n");

}

}

Liczby nieparzyste PHP

W przykładowej pętli  sprawdzającej, czy liczba jest nieparzysta, wygląda to następująco: 

for($i=0; $i < 100; $i++) {

if($i%2!=0) {

print_r("Liczba parzysta $i \n");

}

}

Podział na liczny parzyste i nieparzyste w PHP

for($i=0; $i < 100; $i++) {

if($i%2!=0) {

print_r("Liczba parzysta $i \n");

} else {

print_r("Liczba nieparzysta $i \n");

}

}

Warte przeczytania: