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:

Przykład 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ę:

for (inicjacja zmiennych; wyrażenie testujące ; zmiana wartości zmiennej) {
... 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<1001; $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ę:

while (warunek) {
... 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ę:

do {
... 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.

while vs while ... do, porównanie pętli

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



©® Media Nauka 2008-2023 r.