Pętle pozwalają na wielokrotne wykonywanie tego samego bloku kodu, dopóki określony warunek jest spełniony. To niezwykle potężne narzędzie, które oszczędza mnóstwo czasu i miejsca. Poznamy dwa najważniejsze rodzaje pętli.
1. Pętla while (dopóki)
Pętla while jest najprostszą w koncepcji. Wykonuje kod w klamrach {} tak długo, dopóki warunek w nawiasach jest prawdziwy (true).
Schemat działania:
- Inicjalizacja: Stwórz zmienną, która będzie licznikiem (przed pętlą).
- Warunek: Sprawdź warunek na początku każdego „okrążenia”.
- Aktualizacja: Zmień wartość licznika wewnątrz pętli.
OSTRZEŻENIE: Jeśli zapomnisz o kroku 3 (aktualizacji), warunek zawsze będzie prawdziwy i stworzysz pętlę nieskończoną, która zawiesi Twój program (i serwer)!
Składnia: while (warunek) { // kod do wykonania }
Przykład: Wypiszmy liczby od 1 do 5. Stwórz plik petle.php.
<?php
echo "<h2>Pętla while</h2>";
$licznik = 1; // 1. Inicjalizacja
while ($licznik <= 5) { // 2. Warunek
echo "Liczba to: $licznik <br>";
$licznik++; // 3. Aktualizacja (to samo co $licznik = $licznik + 1)
}
?>Jak to działa?
$licznikma wartość 1. Warunek1 <= 5jest prawdziwy, więc kod się wykonuje. Wyświetla „Liczba to: 1” i zwiększa$licznikdo 2.$licznikma wartość 2. Warunek2 <= 5jest prawdziwy. Wyświetla „Liczba to: 2” i zwiększa$licznikdo 3.- …i tak dalej, aż
$licznikosiągnie wartość 6. $licznikma wartość 6. Warunek6 <= 5jest fałszywy, więc pętla kończy swoje działanie.
2. Pętla for (dla)
Pętla for jest idealna, gdy dokładnie wiesz, ile razy chcesz powtórzyć daną czynność. Jest bardziej zwarta niż while, ponieważ cała logika sterująca (inicjalizacja, warunek i aktualizacja) znajduje się w jednej linijce.
Składnia: for (inicjalizacja; warunek; aktualizacja) { // kod do wykonania }
Przykład: Zróbmy to samo, co w przykładzie z while – wypiszmy liczby od 1 do 5.
<?php
echo "<h2>Pętla for</h2>";
for ($i = 1; $i <= 5; $i++) {
echo "Liczba to: $i <br>";
}
?>Jak widzisz, wynik jest identyczny, ale zapis jest znacznie krótszy. Zmienną licznika w pętli for tradycyjnie nazywa się $i (od iterator lub index).
Praktyczny przykład: Stwórzmy listę rozwijaną HTML z latami od 2020 do 2025.
<?php
echo "<select>";
for ($rok = 2020; $rok <= 2025; $rok++) {
echo "<option value='$rok'>$rok</option>";
}
echo "</select>";
?>Wyobraź sobie robienie tego ręcznie! Pętle to potęga.
3. Sterowanie pętlą: break i continue
Czasami chcemy mieć większą kontrolę nad działaniem pętli.
break– natychmiast przerywa i kończy działanie pętli.continue– przerywa bieżące „okrążenie” i przechodzi do następnego.
Przykład:
<?php
echo "<h2>Break i Continue</h2>";
for ($i = 1; $i <= 10; $i++) {
if ($i === 3) {
continue; // Pomiń liczbę 3
}
if ($i === 8) {
break; // Zakończ pętlę, gdy dojdziesz do 8
}
echo "$i ";
}
// Wynik: 1 2 4 5 6 7
?>Podsumowanie
Opanowałeś właśnie pętle – drugi, obok instrukcji warunkowych, filar logiki programowania. Wiesz już, jak automatyzować powtarzalne zadania.
- Używaj pętli
while, gdy nie wiesz dokładnie, ile będzie powtórzeń, ale znasz warunek zakończenia. - Używaj pętli
for, gdy z góry wiesz, ile razy kod ma się wykonać.