Czym są pętle?
Pętle to struktury, które pozwalają na wielokrotne wykonywanie określonego bloku kodu tak długo, jak spełniony jest pewien warunek. Pętle są bardzo przydatne, gdy chcemy powtarzać te same operacje wielokrotnie, na przykład przetwarzać elementy tablicy lub wykonywać czynność, dopóki użytkownik nie poda właściwej wartości.
PHP oferuje cztery główne rodzaje pętli:
- while
- do-while
- for
- foreach
Każda z nich ma nieco inny sposób działania i jest stosowana w różnych sytuacjach.
Pętla while
Pętla while
działa tak długo, jak długo podany warunek jest prawdziwy. Warunek jest sprawdzany na początku każdej iteracji.
Przykład:
<?php $i = 1; while ($i <= 5) { echo "To jest iteracja numer $i<br>"; $i++; } ?>
W tym przykładzie pętla while
będzie wykonywana, dopóki zmienna $i
nie osiągnie wartości 5. Każda iteracja wyświetli tekst z numerem iteracji, a następnie zmienna $i
zostanie zwiększona o 1.
Wynik:
To jest iteracja numer 1 To jest iteracja numer 2 To jest iteracja numer 3 To jest iteracja numer 4 To jest iteracja numer 5
Pętla do-while
Pętla do-while
jest podobna do while
, ale z jedną ważną różnicą: warunek jest sprawdzany po wykonaniu bloku kodu, a nie przed. Oznacza to, że kod wewnątrz pętli zostanie wykonany co najmniej raz, nawet jeśli warunek nie będzie spełniony.
<?php $i = 1; do { echo "To jest iteracja numer $i<br>"; $i++; } while ($i <= 5); ?>
Wynik będzie taki sam jak w przypadku pętli while
. Jednak, gdyby wartość początkowa $i
była większa od 5, kod w pętli zostałby wykonany raz przed sprawdzeniem warunku.
Przykład, gdy warunek nie jest spełniony od początku:
<?php $i = 6; do { echo "To jest iteracja numer $i<br>"; } while ($i <= 5); ?>
W tym przypadku zobaczymy wynik:
To jest iteracja numer 6
Pętla wykonała się raz, zanim sprawdziła, że warunek $i <= 5
jest fałszywy.
Pętla for
Pętla for
jest często używana, gdy z góry wiemy, ile razy pętla ma zostać wykonana. Składa się z trzech części:
- Inicjalizacja zmiennej sterującej (np. ustawienie zmiennej
$i
na wartość początkową), - Warunek, który musi być spełniony, aby pętla mogła się wykonać,
- Inkrementacja lub dekrementacja zmiennej sterującej po każdej iteracji.
Przykład:
<?php for ($i = 1; $i <= 5; $i++) { echo "To jest iteracja numer $i<br>"; } ?>
Wynik będzie taki sam jak w poprzednich przykładach, ale pętla for
jest bardziej czytelna, gdy znamy liczbę iteracji z góry.
Pętla for
jest idealna do wykonywania zadań, które muszą być powtarzane określoną liczbę razy. Możemy również zmieniać wartość zmiennej sterującej w dowolny sposób, np. inkrementować o 2:
<?php for ($i = 1; $i <= 10; $i += 2) { echo "To jest iteracja numer $i<br>"; } ?>
Wynik:
To jest iteracja numer 1 To jest iteracja numer 3 To jest iteracja numer 5 To jest iteracja numer 7 To jest iteracja numer 9
Pętla foreach
Pętla foreach
jest przeznaczona do iteracji po elementach tablic. Dzięki niej możemy w łatwy sposób przetwarzać każdy element tablicy bez konieczności ręcznego zarządzania zmienną indeksu.
Przykład:
<?php $owoce = array("jabłko", "banan", "pomarańcza"); foreach ($owoce as $owoc) { echo "Lubię $owoc<br>"; } ?>
Wynik:
Lubię jabłko Lubię banan Lubię pomarańcza
W tym przykładzie pętla foreach
przeszła przez każdy element tablicy $owoce
i przypisała go do zmiennej $owoc
podczas każdej iteracji.
Możemy także uzyskać dostęp do indeksu lub klucza elementu w tablicy, używając rozszerzonej wersji foreach
:
<?php $owoce = array("jabłko", "banan", "pomarańcza"); foreach ($owoce as $klucz => $owoc) { echo "$klucz: $owoc<br>"; } ?>
Wynik:
0: jabłko 1: banan 2: pomarańcza
Przerywanie i kontynuowanie pętli
PHP udostępnia dwa przydatne słowa kluczowe do kontrolowania działania pętli: break
i continue
.
break
: Przerywa działanie pętli i powoduje natychmiastowe wyjście z niej.
Przykład:
<?php for ($i = 1; $i <= 10; $i++) { if ($i == 5) { break; // Przerwij pętlę, gdy $i osiągnie 5 } echo "To jest iteracja numer $i<br>"; } ?>
Wynik:
To jest iteracja numer 1 To jest iteracja numer 2 To jest iteracja numer 3 To jest iteracja numer 4
Pętla została przerwana, gdy zmienna $i
osiągnęła wartość 5.
continue
: Pomija bieżącą iterację i przechodzi do następnej, bez przerywania pętli.
Przykład:
<?php for ($i = 1; $i <= 5; $i++) { if ($i == 3) { continue; // Pomija iterację, gdy $i wynosi 3 } echo "To jest iteracja numer $i<br>"; } ?>
To jest iteracja numer 1 To jest iteracja numer 2 To jest iteracja numer 4 To jest iteracja numer 5
Jak widać, iteracja dla wartości $i = 3
została pominięta, a pętla kontynuowała od wartości 4.
W tej lekcji poznaliśmy różne rodzaje pętli w PHP: while
, do-while
, for
oraz foreach
. Pętle są bardzo potężnym narzędziem, które pozwala na powtarzanie operacji na danych i automatyzację wielu zadań w naszych programach. W kolejnych lekcjach zgłębimy tablice i bardziej zaawansowane techniki programowania w PHP.
Gratulacje! Ukończyłeś lekcję 3.
Przejdź teraz do lekcji 4 >> Tablice w PHP
Spis Treści - darmowy kurs PHP
Wprowadzenie: Instalacja środowiska PHP
Lekcja 1: Podstawy składni PHP
Lekcja 2: Funkcje i instrukcje warunkowe w PHP
Lekcja 3: Pętle w PHP
Lekcja 4: Tablice w PHP
Lekcja 5: Dodatkowe podstawy funkcji w PHP
Lekcja 6: Praca z formularzami HTML w PHP
Lekcja 7: Obsługa plików w PHP
Lekcja 8: Sesje i ciasteczka w PHP
Lekcja 9: Podstawy operacji na bazach danych MySQL z PHP
Lekcja 10: Prepared Statements w PHP i bezpieczeństwo aplikacji
Lekcja 11: Zarządzanie użytkownikami – rejestracja, logowanie i autoryzacja w PHP
Lekcja 12: Wzorce projektowe w PHP – wprowadzenie do wzorca MVC
Lekcja 13: Zaawansowane techniki pracy z bazami danych w PHP
Lekcja 14: Testowanie jednostkowe w PHP z PHPUnit
Lekcja 15: Tworzenie i korzystanie z API RESTful w PHP
Lekcja 16: Obsługa plików JSON i XML w PHP
Dodatki
- Spis najważniejszych funkcji PHP