Dataczwartek, 13 sierpnia 2026 Czas19:09:21
← Aplikacje internetowe (PHP)

Lekcja 4. Pętle w PHP (for, while, foreach)

Podstawowy

Po co się tego uczymy?

Wyobraź sobie stronę z katalogiem 200 filmów pobranych z bazy danych — nikt nie pisze 200 razy tego samego kodu HTML ręcznie. Pętla wypisuje je wszystkie jednym, krótkim fragmentem kodu. To jedna z najważniejszych umiejętności w całym dziale.

Teoria

Pętle pozwalają powtórzyć ten sam fragment kodu wiele razy, bez przepisywania go ręcznie. To absolutnie kluczowe w PHP, bo prawie zawsze będziesz przeglądać WYNIKI Z BAZY DANYCH (dziesiątki albo tysiące wierszy) — a to właśnie robi się w pętli.

Rodzaje pętli:
for — gdy z góry wiesz, ile razy coś powtórzyć: for ( = 0; < 10; ++) { ... }
while — powtarza, dopóki warunek jest prawdziwy: while () { ... }
do...while — jak while, ale sprawdza warunek NA KOŃCU (więc wykona się co najmniej raz).
foreach — przechodzi po każdym elemencie tablicy: foreach ( as ) { ... }

foreach jest szczególnie ważny — to nim będziesz przeglądać wyniki zapytań SQL zwrócone z bazy danych w kolejnych lekcjach.

Przykład z życia

Strona główna serwisu filmowego z listą "Polecane filmy" — niezależnie od tego, czy w bazie jest 5 czy 500 filmów, ten sam fragment kodu z pętlą foreach wyświetli je wszystkie, jeden po drugim.

Kod (PHP)

<?php
// for - znamy dokładną liczbę powtórzeń
for ($i = 1; $i <= 5; $i++) {
    echo "Film numer $i<br>";
}

echo "<hr>";

// while - powtarzamy, dopóki warunek jest prawdziwy
$bilety = 3;
while ($bilety > ) {
    echo "Zostały bilety: $bilety<br>";
    $bilety--;
}

echo "<hr>";

// foreach - przechodzimy po każdym elemencie tablicy (więcej o tablicach w kolejnej lekcji)
$filmy = ["Incepcja", "Matrix", "Interstellar"];
foreach ($filmy as $tytul) {
    echo "Tytuł: $tytul<br>";
}

Komentarz i wyjaśnienie kodu

Pętla for ma trzy części oddzielone średnikami: start ($i = 1), warunek kontynuacji ($i <= 5) i krok ($i++, czyli zwiększenie o 1 po każdym przebiegu). Pętla while sprawdza warunek PRZED każdym powtórzeniem — jeśli zapomnisz zmniejszyć $bilety--, pętla nigdy się nie skończy (tzw. nieskończona pętla). foreach jest najprostsza w użyciu z tablicami — nie musisz w ogóle liczyć elementów, PHP sam przejdzie przez wszystkie, jeden po drugim, do zmiennej $tytul.

Ćwiczenie samodzielne

Zmień pętlę for tak, żeby liczyła od 10 do 1 malejąco, a pętlę foreach uzupełnij o piąty film w tablicy.

Zadania do pracy własnej

  1. Napisz pętlę for wypisującą tabliczkę mnożenia liczby 7 (od 7x1 do 7x10) — to samo zadanie co w Lekcji 1, ale teraz w 3 linijkach zamiast dziesięciu.

  2. Mając tablicę pięciu cen produktów, napisz pętlę foreach sumującą wszystkie ceny i wypisz sumę na końcu.

  3. Napisz skrypt symulujący odliczanie do premiery filmu: pętla while, która zaczyna od 10 i odlicza do 0, wypisując za każdym razem "Premiera za X dni", a na końcu (gdy dojdzie do 0) wypisuje "Premiera już dziś!".

Typowe błędy

Najgroźniejszy błąd to nieskończona pętla — zapomnienie $i++ w for albo warunku, który kiedyś stanie się fałszywy w while, powoduje zawieszenie przeglądarki. Drugi błąd: pomylenie <= z < w warunku pętli for, co powoduje wykonanie o jedno powtórzenie za dużo albo za mało (tzw. błąd "o jeden"). Trzeci: próba użycia foreach na zmiennej, która nie jest tablicą — PHP zgłosi ostrzeżenie.

Nawiązanie do egzaminu zawodowego

Pętle to część efektu INF.03.5.2.5 ("stosuje instrukcje sterujące") — a foreach będzie Twoim codziennym narzędziem od Lekcji 11 (wyświetlanie danych z bazy), gdzie każdy wiersz wyniku zapytania SQL trzeba przejrzeć właśnie w pętli.