Opis: Zostaną omówione instrukcje sterujące i pętle w języku PHP, w tym instrukcje warunkowe if, else if i else, instrukcja switch oraz pętle for, while i foreach, umożliwiające podejmowanie decyzji i wielokrotne wykonywanie fragmentów kodu.
Instrukcja warunkowa if w języku PHP służy do wykonywania określonego fragmentu kodu tylko wtedy, gdy spełniony zostanie podany warunek. Warunek ten jest wyrażeniem logicznym, które może przyjmować wartość prawda (true) lub fałsz (false). Dzięki instrukcjom warunkowym program może reagować na różne sytuacje i dane wejściowe.
ifInstrukcja if sprawdza, czy dany warunek jest spełniony. Jeżeli warunek jest prawdziwy, kod znajdujący się w jej wnętrzu zostaje wykonany.
Składnia:
if (warunek) {
// kod wykonywany, gdy warunek jest spełniony
}Przykład:
<?php
$wiek = 18;
if ($wiek >= 18) {
echo "Użytkownik jest pełnoletni.";
}
?>W powyższym przykładzie komunikat zostanie wyświetlony tylko wtedy, gdy wartość zmiennej $wiek jest większa lub równa 18.
Instrukcja else pozwala określić, co ma się wydarzyć, gdy warunek w instrukcji if nie zostanie spełniony.
Składnia:
if (warunek) {
// kod, gdy warunek jest spełniony
} else {
// kod, gdy warunek nie jest spełniony
}Przykład:
<?php
$temperatura = 10;
if ($temperatura > 20) {
echo "Jest ciepło.";
} else {
echo "Jest chłodno.";
}
?>Program wyświetli jeden z dwóch komunikatów w zależności od wartości zmiennej $temperatura.
Instrukcja elseif umożliwia sprawdzenie wielu warunków po kolei. Gdy pierwszy warunek nie zostanie spełniony, sprawdzany jest kolejny. Wykonany zostaje tylko pierwszy pasujący blok kodu.
Składnia:
if (warunek1) {
// kod dla pierwszego warunku
} elseif (warunek2) {
// kod dla drugiego warunku
} else {
// kod, gdy żaden warunek nie jest spełniony
}Przykład:
<?php
$ocena = 4;
if ($ocena == 5) {
echo "Bardzo dobry";
} elseif ($ocena == 4) {
echo "Dobry";
} elseif ($ocena == 3) {
echo "Dostateczny";
} else {
echo "Ocena niedostateczna";
}
?>W tym przykładzie program sprawdza kolejne wartości zmiennej $ocena i wyświetla odpowiedni komunikat.
Instrukcje if, elseif i else są wykorzystywane m.in. do:
sprawdzania poprawności danych,
kontroli dostępu użytkownika,
podejmowania decyzji na podstawie wieku, wyniku, statusu,
dynamicznego generowania treści na stronie internetowej.
Operator ? :, nazywany operatorem warunkowym lub operatorem trójargumentowym, stanowi skróconą formę instrukcji if ... else. Umożliwia on przypisanie wartości lub wykonanie prostej operacji w zależności od spełnienia warunku, zapisanej w jednej linii kodu.
Składnia operatora ? :
warunek ? wartość_gdy_true : wartość_gdy_false;Jeżeli warunek jest spełniony (true), zwracana jest pierwsza wartość. W przeciwnym przypadku zwracana jest druga wartość.
Przykład:
<?php
$wiek = 20;
$status = ($wiek >= 18) ? "Pełnoletni" : "Niepełnoletni";
echo $status;
?>W tym przykładzie, w zależności od wartości zmiennej $wiek, do zmiennej $status zostanie przypisana odpowiednia wartość tekstowa.
Operator ? : jest szczególnie przydatny, gdy:
przypisywana jest wartość do zmiennej na podstawie warunku,
wyświetlany jest prosty komunikat,
zależy nam na zwięzłym i czytelnym kodzie.
Nie zaleca się stosowania operatora trójargumentowego do skomplikowanej logiki - w takich przypadkach czytelniejsza będzie klasyczna instrukcja if ... else.
Instrukcja switch w języku PHP służy do wyboru jednego z wielu możliwych wariantów wykonania programu na podstawie wartości jednej zmiennej lub wyrażenia. Jest ona alternatywą dla rozbudowanej konstrukcji if ... elseif ... else, szczególnie wtedy, gdy porównujemy jedną zmienną z wieloma możliwymi wartościami.
Składnia instrukcji switch
switch (wyrazenie) {
case wartosc1:
// kod wykonywany, gdy wyrazenie == wartosc1
break;
case wartosc2:
// kod wykonywany, gdy wyrazenie == wartosc2
break;
default:
// kod wykonywany, gdy żadna wartość nie pasuje
}Instrukcja switch porównuje wartość wyrażenia z kolejnymi przypadkami (case). Gdy znajdzie dopasowanie, wykonywany jest odpowiadający mu blok kodu.
Przykład:
<?php
$dzien = 3;
switch ($dzien) {
case 1:
echo "Poniedziałek";
break;
case 2:
echo "Wtorek";
break;
case 3:
echo "Środa";
break;
case 4:
echo "Czwartek";
break;
case 5:
echo "Piątek";
break;
default:
echo "Weekend";
}
?>W zależności od wartości zmiennej $dzien, wyświetlana jest nazwa odpowiedniego dnia tygodnia.
breakInstrukcja break kończy działanie instrukcji switch. Jej brak powoduje tzw. przechodzenie dalej (fall-through), czyli wykonanie kolejnych przypadków. Jeżeli kilka instrukcji case występuje jedna po drugiej bez instrukcji break, wszystkie one zostaną przypisane do jednego wspólnego bloku kodu. Wykonanie nastąpi dla pierwszego dopasowanego przypadku.
Przykład:
<?php
$miesiac = 2;
switch ($miesiac) {
case 12:
case 1:
case 2:
echo "Zima";
break;
case 3:
case 4:
case 5:
echo "Wiosna";
break;
case 6:
case 7:
case 8:
echo "Lato";
break;
case 9:
case 10:
case 11:
echo "Jesień";
break;
default:
echo "Nieprawidłowy numer miesiąca";
}
?>W tym przykładzie:
miesiące 12, 1 i 2 powodują wyświetlenie komunikatu "Zima",
różne wartości case prowadzą do jednego wyniku,
instrukcja break kończy działanie switch po wykonaniu bloku.
Blok default jest wykonywany wtedy, gdy żadna z wartości case nie pasuje do sprawdzanego wyrażenia. Jest on odpowiednikiem else w instrukcji if.
Przykład:
<?php
$numer = 10;
switch ($numer) {
case 1:
echo "Jeden";
break;
case 2:
echo "Dwa";
break;
default:
echo "Inna liczba";
}
?>Instrukcja switch jest szczególnie przydatna, gdy:
porównywana jest jedna zmienna z wieloma możliwymi wartościami,
warunki są proste i oparte na równości,
zależy nam na czytelności kodu.
Dla bardziej złożonych warunków logicznych lepszym wyborem jest if ... elseif ... else.
Pętla while w języku PHP służy do wielokrotnego wykonywania określonego fragmentu kodu tak długo, jak spełniony jest podany warunek. Liczba powtórzeń nie musi być znana z góry - pętla działa do momentu, aż warunek przestanie być prawdziwy.
Składnia:
while (warunek) {
// kod wykonywany, gdy warunek jest spełniony
}Przed każdą iteracją sprawdzany jest warunek logiczny. Jeżeli jest on fałszywy już na początku, pętla nie wykona się ani razu.
Przykład:
<?php
$i = 1;
while ($i <= 5) {
echo $i . "<br>";
$i++;
}
?>Pętla wyświetli liczby od 1 do 5. Zmienna $i jest zwiększana w każdej iteracji, co zapobiega nieskończonemu wykonywaniu pętli.
Pętla while może być użyta do dynamicznego generowania elementów HTML, podobnie jak pętla for.
<ul>
<?php
$i = 1;
while ($i <= 3) {
echo "<li>Element listy $i</li>";
$i++;
}
?>
</ul>W efekcie zostanie wygenerowana lista HTML z trzema elementami.
Pętla while jest szczególnie przydatna, gdy:
liczba powtórzeń nie jest znana z góry,
wykonywanie pętli zależy od zmieniającego się warunku,
dane są przetwarzane do momentu spełnienia określonego warunku.
Pętla do ... while w języku PHP służy do wielokrotnego wykonywania fragmentu kodu co najmniej jeden raz, niezależnie od tego, czy warunek początkowo jest spełniony. Różni się ona od pętli while tym, że warunek sprawdzany jest dopiero po wykonaniu kodu pętli.
Składnia:
do {
// kod wykonywany w pętli
} while (warunek);Kod znajdujący się w bloku do zostanie wykonany przynajmniej jeden raz, a następnie warunek zostanie sprawdzony.
Przykład:
<?php
$i = 1;
do {
echo $i . "<br>";
$i++;
} while ($i <= 5);
?>Pętla wyświetli liczby od 1 do 5, podobnie jak pętla while, jednak różnica polega na kolejności sprawdzania warunku.
Pętla do ... while jest przydatna, gdy:
kod musi wykonać się co najmniej jeden raz,
warunek zależy od danych uzyskanych wewnątrz pętli,
konieczne jest wykonanie operacji przed sprawdzeniem warunku.
Pętla for w języku PHP służy do wielokrotnego wykonywania tego samego fragmentu kodu, gdy z góry wiadomo, ile razy dana operacja ma zostać powtórzona. Jest ona jedną z najczęściej wykorzystywanych pętli i idealnie sprawdza się w sytuacjach, w których pracujemy z licznikami lub zakresami wartości.
Składnia:
for (inicjalizacja; warunek; modyfikacja) {
// kod wykonywany w pętli
}Każda część nagłówka pętli ma określone znaczenie:
inicjalizacja - utworzenie i ustawienie wartości początkowej licznika,
warunek - określa, jak długo pętla ma się wykonywać,
modyfikacja - zmiana wartości licznika po każdej iteracji.
Przykład:
<?php
for ($i = 1; $i <= 5; $i++) {
echo $i . "<br>";
}
?>Pętla wykona się pięć razy, a w przeglądarce zostaną wyświetlone liczby od 1 do 5, każda w nowej linii.
Pętla for jest często wykorzystywana do dynamicznego generowania elementów HTML.
<ul>
<?php
for ($i = 1; $i <= 3; $i++) {
echo "<li>Element listy $i</li>";
}
?>
</ul>W wyniku działania pętli zostanie wygenerowana lista HTML z trzema elementami.
Pętla for jest wykorzystywana m.in. do:
powtarzania operacji określoną liczbę razy,
generowania list, tabel i innych elementów HTML,
wykonywania obliczeń w określonym zakresie,
pracy z indeksami.
Pętla foreach w języku PHP służy do iterowania po elementach tablicy. Jest to najwygodniejszy i najczęściej stosowany sposób przeglądania tablic, ponieważ nie wymaga używania licznika ani znajomości liczby elementów w zbiorze.
Składnia (tablica indeksowana):
foreach ($tablica as $wartosc) {
// kod wykonywany dla każdego elementu tablicy
}Składnia (tablica asocjacyjna):
foreach ($tablica as $klucz => $wartosc) {
// kod wykonywany dla każdego elementu tablicy
}W każdej iteracji pętli zmienna $wartosc (oraz opcjonalnie $klucz) przyjmuje kolejną wartość z tablicy.
Przykład (tablica indeksowana):
<?php
$kolory = ["czerwony", "zielony", "niebieski"];
foreach ($kolory as $kolor) {
echo $kolor . "<br>";
}
?>Pętla przejdzie kolejno przez wszystkie elementy tablicy i wyświetli ich wartości w przeglądarce.
Przykład (tablica asocjacyjna):
<?php
$uczen = [
"imie" => "Jan",
"wiek" => 17,
"klasa" => "3A"
];
foreach ($uczen as $klucz => $wartosc) {
echo $klucz . ": " . $wartosc . "<br>";
}
?>W tym przypadku pętla foreach wyświetla zarówno klucze, jak i przypisane do nich wartości.
Pętla foreach bardzo często wykorzystywana jest do dynamicznego generowania elementów HTML.
<?php
$produkty = ["Laptop", "Telefon", "Tablet"];
?>
<ul>
<?php foreach ($produkty as $produkt): ?>
<li><?php echo $produkt; ?></li>
<?php endforeach; ?>
</ul>Każdy element tablicy zostanie wyświetlony jako osobny element listy HTML.
Pętla foreach jest stosowana m.in. do:
wyświetlania danych z tablic,
przetwarzania wyników z bazy danych,
generowania list, tabel i menu,
pracy z tablicami asocjacyjnymi.
Zadeklaruj zmienną $punkty. Na jej podstawie wyświetl:
"Zaliczone", gdy liczba punktów >= 50
"Niezaliczone" w przeciwnym przypadku
Oczekiwany rezultat (dla 60):
ZaliczoneZadeklaruj zmienną $ocena (1-6). Przy użyciu switch wyświetl odpowiadający opis oceny (np. 5 -> "Bardzo dobry").
Oczekiwany rezultat (dla 4):
DobryUtwórz tabelę HTML z dwoma kolumnami:
liczba od 1 do 5,
jej kwadrat.
Oczekiwany rezultat:
Tabela zawierająca wiersze:
1 | 1 |
2 | 4 |
3 | 9 |
4 | 16 |
5 | 25 |
Oblicz sumę liczb od 1 do 5 przy użyciu pętli while i wyświetl wynik.
Oczekiwany rezultat:
Suma: 15Zadeklaruj zmienną $i = 6. W pętli do ... while wypisz wartość $i, dopóki $i <= 5.
Oczekiwany rezultat:
6Utwórz tablicę asocjacyjną z danymi użytkownika (imie, wiek, miasto). Wyświetl dane w formacie:
klucz: wartość
Oczekiwany rezultat:
imie: Jan
wiek: 20
miasto: SzczecinUtwórz tablicę liczb od 1 do 10. Przy użyciu pętli foreach i instrukcji if:
wyświetl tylko liczby parzyste,
każdą w nowej linii.
Oczekiwany rezultat:
2
4
6
8
10Utwórz tablicę produktów (np. nazwa i cena).
Wyświetl je w formie listy HTML.
Dodatkowo:
jeśli cena > 100 -> dopisz "(drogi)"
w przeciwnym razie "(tani)"
Oczekiwany rezultat:
Lista HTML, np.:
Laptop - 3000 (drogi)
Mysz - 50 (tani)
Klawiatura - 150 (drogi)Utwórz tabelę HTML z liczbami od 1 do 10.
W drugiej kolumnie wyświetl:
"parzysta" lub "nieparzysta" (użyj if)
Oczekiwany rezultat:
1 | nieparzysta
2 | parzysta
3 | nieparzysta
...
10 | parzysta© 2026 Piskorowski Jakub. All rights reserved.