Lekcja 3 – Pętle w PHP

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:

  1. Inicjalizacja zmiennej sterującej (np. ustawienie zmiennej $i na wartość początkową),
  2. Warunek, który musi być spełniony, aby pętla mogła się wykonać,
  3. 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