Pętle w PHP
Pętle to specjalny fragment kodu, który odpowiada za powtarzanie poleceń zawartych wewnątrz pętli taką ilość razy, jaka w pętli zostanie zdefiniowana poprzez odpowiednie warunki.
W PHP mamy do dyspozycji kilka rodzajów pętli:
- pętla for
- pętla while
- pętla do ... while
- forEach - jest to rodzaj pętli, która wykonywana jest na elementach tablicy i będzie opisana przy okazji omawiania tablic.
- break - wyjście z pętli
- continue
Przykład
Jeżeli chcemy 100 razy napisać "Kocham moją dziewczynę", to nie musimy wpisywać 100 linijek kodu echo 'Kocham moją dziewczynę', tylko powinniśmy użyć właśnie pętli, która w "wolnym tłumaczeniu" brzmi "powtórz 100 razy instrukcję echo 'Kocham moją dziewczynę' "! Prawda, że proste? Przyjrzyjmy się składni i przykładom dla poszczególnych pętli.
Pętla for
To chyba najczęściej wykorzystywana pętla przez programistów, a już na pewno przez autora tego kursu. Ma ona następującą składnię:
... blok kodu wykonywany w pętli ...
}
Nie ma to jak przykład. Załóżmy, że w okienku przeglądarki chcesz napisać 1000 razy Kocham Olę! Można to zrobić tak:
Przykład nr 1 użycia pętli for
<?php for ($x=1; $x<101; $x++) { echo " Kocham Olę!<br>"; } ?>
Jak to działa? Słowo for oznacza słowo powtarzaj to, co jest zawarte między nawiasami klamrowymi, począwszy od $x=1. W każdej pętli sprawdzaj czy $x<1001 i zwiększ wartość $x o 1 (wyrażenie $x++). Jeżeli warunek $x<1001 nie jest spełniony, pętla przestaje wykonywać kod zawarty w klamrach.
Zobacz na filmie w jaki sposób działa pętla for.
Poniżej kilka innych przykładów działania pętli for.
Przykład nr 2 użycia pętli for - inkrementacja
Poniższy program wypisuje w oknie przeglądarki kolejne potęgi liczby 2.
<?php for ($i=1; $i<=20; $i++) { echo 2**$i; echo '<br>'; } ?>
Przykład nr 3 użycia pętli for - dekrementacja
Poniższy program w konsoli debuggera przeglądarki wypisuje wszystkie cyfry malejąco od 9 do 0 i oddziela je przecinkami ze spacją.
<?php for ($i=9; $i>=0; $i--) { echo $i.', '; } ?>
Pętla while
Pętla while następująca składnię:
... tutaj znajduje się blok kodu wykonywany w pętli ...
}
Kod zawarty w pętli wykonuje się tak długo, dopóki warunek zwraca wartość true.
Zauważ, że gdy warunek nie jest spełniony przy wejściu w pętlę, kod programu zawarty w pętli nie wykona się ani razu.
Jeżeli nie zawrzesz wewnątrz pętli inkrementacji lub dekrementacji lub innego działania na zmiennej sterującej warunkiem, pętla będzie się wykonywała w nieskończoność.
Przykład nr 4 - użycie pętli while
Załóżmy, że chcesz napisać 10 razy Będę grzeczny. Można to zrobić tak:
<?php $i=0; while ($i<=9) { echo "Będę grzeczny "; $i++; } ?>
Pętla do ... while
Pętla do .. while jest bardzo podobna do pętli while, z tym że kod wykonuje się najpierw, a potem sprawdzany jest warunek. Pętla ta ma następująca składnię:
... tutaj znajduje się blok kodu wykonywany w pętli ...
} while (warunek)
Kod zawarty w pętli wykonuje się tak długo, dopóki warunek zwraca wartość true.
Zauważ, że gdy warunek nie jest spełniony na wejściu w pętlę, kod programu zawarty w pętli wykona się przynajmniej raz.
Jeżeli nie zawrzesz wewnątrz pętli inkrementacji lub dekrementacji lub innego działania na zmiennej sterującej warunkiem, pętla będzie się wykonywała w nieskończoność i spowoduje zawieszenie się przeglądarki.
Przykład nr 5 - użycie pętli do ... while
Załóżmy, że w konsoli chcesz napisać 10 razy Będę grzeczny. Można to zrobić tak:
<?php $i=0; do { echo "Będę grzeczny "; $i++; } while ($i<=9) ?>
Porównanie pętli while i do .. while
Poniższy rysunek przedstawia różnicę między pętlą while a pętlą do ... while.
Wyjście z pętli - break
Instrukcja break pozwala na przerwanie wykonywania kodu zawartego wewnątrz pętli. Jeżeli wewnątrz kodu zajdzie jakiś warunek, możesz nakazać programowi natychmiast opuścić pętlę i wykonywanie kodu dalej poza nią.
Przykład nr 6 - wyjście z pętli
<?php $i=0; do { echo "Będę grzeczny "; $i++; if ($i==5) {break;} } while ($i<9) ?>
Wyjście z pętli - continue
Instrukcja continue pozwala na przerwanie wykonywania kodu zawartego wewnątrz pętli i przejść do następnej iteracji, a nie wyjścia całkowitego z pętli, jak to było w przypadku break.
Przykład nr 7 - zastosowanie continue w pętli
Jeżeli reszta z dzielenia kolejnej iteracji jest równa zeru, to skrypt nie napisze naszego wyrażenia. w efekcie zamiast 10 razy, napis pojawi się tylko 5 (co drugi raz).
<?php for ($x=1; $x<11; $x++) { if ($x%2 !=0) {continue;} echo " Kocham Olę!<br>"; } ?>
© medianauka.pl, 2021-09-04, A-4175
Data aktualizacji artykułu: 2024-06-29