Instrukcje Warunkowe w PHP

Ćwiczenia krok po kroku – klasa 4 TI

1. Instrukcja if

Polecenie 1: Sprawdź, czy liczba jest dodatnia

Instrukcja: Zadeklaruj zmienną $liczba. Użyj podstawowej instrukcji if oraz operatora porównania większości >, aby zweryfikować, czy liczba jest większa od 0. Kod wewnątrz nawiasów klamrowych wykona się tylko wtedy, gdy warunek będzie prawdziwy (true).
<?php
$liczba = 10;  // sprawdzamy liczbę
if($liczba > 0){
    echo "Liczba jest dodatnia";
}
?>
Liczba jest dodatnia

Polecenie 2: Sprawdź, czy liczba jest parzysta

Instrukcja: Wykorzystaj operator modulo % (resztę z dzielenia). Jeżeli reszta z dzielenia zmiennej przez 2 wynosi 0 ($liczba % 2 == 0), oznacza to, że liczba jest parzysta.
<?php
$liczba = 8;  // sprawdzamy parzystość
if($liczba % 2 == 0){
    echo "Liczba jest parzysta";
}
?>
Liczba jest parzysta

Polecenie 3: Sprawdź, czy użytkownik jest pełnoletni

Instrukcja: Zastosuj operator większe lub równe >=. Porównaj zmienną $wiek z wartością progową 18.
<?php
$wiek = 18;
if($wiek >= 18){
    echo "Użytkownik jest pełnoletni";
}
?>
Użytkownik jest pełnoletni

Polecenie 4: Sprawdź, czy temperatura jest poniżej zera

Instrukcja: Użyj operatora mniejszości <, aby porównać zmienną $temperatura z zerem.
<?php
$temperatura = -5;
if($temperatura < 0){
    echo "Temperatura jest poniżej zera";
}
?>
Temperatura jest poniżej zera

Polecenie 5: Sprawdź, czy liczba jest większa od 100

Instrukcja: Porównaj wartość liczbową ze stałą 100 za pomocą operatora >.
<?php
$liczba = 150;
if($liczba > 100){
    echo "Liczba jest większa od 100";
}
?>
Liczba jest większa od 100

Polecenie 6: Sprawdź, czy użytkownik ma dostęp do strony

Instrukcja: Zmienne typu logicznego (boolean) zawierają wartość true lub false. Możesz przekazać samą zmienną do warunku if($maDostep) bez konieczności pisania == true.
<?php
$maDostep = true;
if($maDostep){
    echo "Użytkownik ma dostęp do strony";
}
?>
Użytkownik ma dostęp do strony

Polecenie 7: Sprawdź, czy tekst zawiera słowo „PHP”

Instrukcja: Użyj wbudowanej funkcji strpos($tekst, "PHP"), która szuka pozycji ciągu. Jeżeli ciąg zostanie znaleziony, funkcja zwróci indeks (liczbe). Zastosuj ścisłe porównanie !== false, aby prawidłowo obsłużyć sytuację, gdy szukane słowo znajduje się na samym początku ciągu (indeks 0).
<?php
$tekst = "Uczę się PHP";
if(strpos($tekst, "PHP") !== false){
    echo "Tekst zawiera PHP";
}
?>
Tekst zawiera PHP

Polecenie 8: Sprawdź, czy długość hasła jest większa niż 8 znaków

Instrukcja: Wykorzystaj funkcję strlen($haslo) do zliczenia liczby znaków w ciągu tekstowym, a następnie sprawdź warunek > 8.
<?php
$haslo = "supertajne123";
if(strlen($haslo) > 8){
    echo "Hasło jest wystarczająco długie";
}
?>
Hasło jest wystarczająco długie

Polecenie 9: Sprawdź, czy użytkownik podał poprawny kod PIN

Instrukcja: Porównaj podany PIN ze wzorcem używając operatora przyrównania ==.
<?php
$pin = 1234;
if($pin == 1234){
    echo "Kod PIN jest poprawny";
}
?>
Kod PIN jest poprawny

Polecenie 10: Sprawdź, czy użytkownik wybrał opcję „Tak”

Instrukcja: Porównaj zmienną tekstową ze st Stringiem "Tak". Pamiętaj, że w PHP wielkość liter ma znaczenie przy porównywaniu łańcuchów znaków.
<?php
$wybor = "Tak";
if($wybor == "Tak"){
    echo "Wybrano opcję Tak";
}
?>
Wybrano opcję Tak

2. Instrukcja if...else

Polecenie 1: Sprawdź, czy liczba jest dodatnia lub ujemna

Instrukcja: Instrukcja if...else rozgałęzia program na dwie ścieżki. Jeżeli warunek w if zwraca false, automatycznie wykonuje się kod z bloku else.
<?php
$liczba = -3;  // liczba do sprawdzenia
if($liczba > 0){
    echo "Liczba dodatnia";
} else {
    echo "Liczba ujemna lub zero";
}
?>
Liczba ujemna lub zero

Polecenie 2: Sprawdź, czy użytkownik ma dostęp do konta

Instrukcja: Zmienna $zalogowany steruje przepływem. Wartość false powoduje pominięcie bloku if i natychmiastowe przejście do wykonania kodu w sekcji else.
<?php
$zalogowany = false;  // status zalogowania
if($zalogowany){
    echo "Masz dostęp do konta";
} else {
    echo "Brak dostępu";
}
?>
Brak dostępu

Polecenie 3: Sprawdź, czy wiek kwalifikuje się na emeryturę

Instrukcja: Sprawdź warunek wieku (np. >= 60). Gdy wiek jest niższy niż próg, instrukcja przekieruje wykonanie do sekcji else.
<?php
$wiek = 65;  // wiek użytkownika
if($wiek >= 60){
    echo "Można przejść na emeryturę";
} else {
    echo "Jeszcze nie czas na emeryturę";
}
?>
Można przejść na emeryturę

Polecenie 4: Sprawdź, czy podana temperatura oznacza mróz

Instrukcja: Jeżeli temperatura jest niższa od 0, wyświetl komunikat o mrozie. W przeciwnym wypadku (temperatura 0 lub wyższa) wyświetl informację o braku mrozu z sekcji else.
<?php
$temperatura = -2;
if($temperatura < 0){
    echo "Jest mróz";
} else {
    echo "Nie ma mrozu";
}
?>
Jest mróz

Polecenie 5: Sprawdź, czy liczba jest podzielna przez 3

Instrukcja: Warunek $liczba % 3 == 0 sprawdza, czy dzielenie daje resztę równą 0. Jeśli nie (np. dla liczby 10 reszta wynosi 1), program przejdzie do bloku else.
<?php
$liczba = 10;
if($liczba % 3 == 0){
    echo "Podzielna przez 3";
} else {
    echo "Niepodzielna przez 3";
}
?>
Niepodzielna przez 3

Polecenie 6: Sprawdź, czy użytkownik jest zalogowany

Instrukcja: Przeanalizuj flagę typu boolean $zalogowany i wyświetl odpowiedni komunikat w zależności od jej wartości.
<?php
$zalogowany = true;
if($zalogowany){
    echo "Użytkownik zalogowany";
} else {
    echo "Użytkownik niezalogowany";
}
?>
Użytkownik zalogowany

Polecenie 7: Sprawdź, czy plik ma rozszerzenie .jpg

Instrukcja: Wykorzystaj funkcję pathinfo($plik, PATHINFO_EXTENSION) do wyciągnięcia samego rozszerzenia pliku, a następnie porównaj je z ciągiem "jpg".
<?php
$plik = "obrazek.png";
if(pathinfo($plik, PATHINFO_EXTENSION) == "jpg"){
    echo "To jest plik JPG";
} else {
    echo "To nie jest plik JPG";
}
?>
To nie jest plik JPG

Polecenie 8: Sprawdź, czy hasło i potwierdzenie są takie same

Instrukcja: Porównaj dwie zmienne tekstowe ($haslo == $potwierdzenie). Jest to standardowa walidacja stosowana przy formularzach rejestracji.
<?php
$haslo = "abc123";
$potwierdzenie = "abc123";
if($haslo == $potwierdzenie){
    echo "Hasła się zgadzają";
} else {
    echo "Hasła nie zgadzają się";
}
?>
Hasła się zgadzają

Polecenie 9: Sprawdź, czy użytkownik podał poprawny login

Instrukcja: Porównaj wartość w zmiennej $login ze wzorcowym ciągiem znaków "admin". W przypadku niezgodności wyświetl komunikat o błędzie z bloku else.
<?php
$login = "admin";
if($login == "admin"){
    echo "Poprawny login";
} else {
    echo "Niepoprawny login";
}
?>
Poprawny login

Polecenie 10: Sprawdź, czy liczba jest wielokrotnością 5

Instrukcja: Zastosuj operację modulo $liczba % 5 == 0. Jeżeli wielokrotność nie występuje, wykonany zostanie kod z sekcji else.
<?php
$liczba = 12;
if($liczba % 5 == 0){
    echo "Wielokrotność 5";
} else {
    echo "Nie jest wielokrotnością 5";
}
?>
Nie jest wielokrotnością 5

3. Instrukcja switch

Polecenie 1: Sprawdź ocenę użytkownika

Instrukcja: Instrukcja switch porównuje jedną zmienną z wieloma możliwościami w blokach case. Pamiętaj o użyciu instrukcji break; po każdym bloku, aby zapobiec wykonywaniu kolejnych przypadków. Blok default: odpowiada za sytuację, gdy żaden case nie pasuje.
<?php
$ocena = 5;
switch($ocena){
    case 6:
        echo "Celujący";
        break;
    case 5:
        echo "Bardzo dobry";
        break;
    case 4:
        echo "Dobry";
        break;
    case 3:
        echo "Dostateczny";
        break;
    case 2:
        echo "Niedostateczny";
        break;
    default:
        echo "Nieznana ocena";
}
?>
Bardzo dobry

Polecenie 2: Sprawdź wybrany dzień tygodnia

Instrukcja: Instrukcja switch doskonale sprawdza się do porównywania ciągów tekstowych. Przypisz odpowiedni opis do podanej nazwy dnia.
<?php
$dzien = "Poniedziałek";
switch($dzien){
    case "Poniedziałek":
        echo "To pierwszy dzień tygodnia";
        break;
    case "Wtorek":
        echo "To drugi dzień tygodnia";
        break;
    default:
        echo "Inny dzień";
}
?>
To pierwszy dzień tygodnia

Polecenie 3: Sprawdź podany miesiąc

Instrukcja: Możesz grupować bloki case bez stawiania między nimi instrukcji break (tzw. fall-through). Dzięki temu kilka wartości wywoła ten sam blok kodu.
<?php
$month = "Marzec";
switch($month){
    case "Styczeń":
    case "Luty":
    case "Marzec":
        echo "To miesiąc zimowy";
        break;
    default:
        echo "Inny miesiąc";
}
?>
To miesiąc zimowy

Polecenie 4: Sprawdź wybrany rodzaj biletu

Instrukcja: Zmapuj podaną opcję (np. "normalny", "ulgowy") na odpowiedni komunikat. Obsłuż nieznany typ biletu w sekcji default.
<?php
$bilet = "normalny";
switch($bilet){
    case "normalny":
        echo "Bilet normalny";
        break;
    case "ulgowy":
        echo "Bilet ulgowy";
        break;
    default:
        echo "Nieznany bilet";
}
?>
Bilet normalny

Polecenie 5: Sprawdź kategorię produktu

Instrukcja: Dopasuj kategorię w instrukcji switch do wartości wpisanej w zmiennej $produkt.
<?php
$produkt = "Elektronika";
switch($produkt){
    case "Elektronika":
        echo "Kategoria: Elektronika";
        break;
    case "Odzież":
        echo "Kategoria: Odzież";
        break;
    default:
        echo "Inna kategoria";
}
?>
Kategoria: Elektronika

Polecenie 6: Sprawdź poziom trudności

Instrukcja: Zdefiniuj w sekcjach case możliwe poziomy gier lub aplikacji (np. "łatwy", "średni", "trudny").
<?php
$poziom = "średni";
switch($poziom){
    case "łatwy":
        echo "Poziom łatwy";
        break;
    case "średni":
        echo "Poziom średni";
        break;
    case "trudny":
        echo "Poziom trudny";
        break;
    default:
        echo "Nieznany poziom";
}
?>
Poziom średni

Polecenie 7: Sprawdź status zamówienia

Instrukcja: Zmienna $status opisuje stan systemu sklepowego. Wykorzystaj switch do poinformowania klienta o stanie wysyłki.
<?php
$status = "wysłane";
switch($status){
    case "nowe":
        echo "Zamówienie nowe";
        break;
    case "wysłane":
        echo "Zamówienie wysłane";
        break;
    case "anulowane":
        echo "Zamówienie anulowane";
        break;
    default:
        echo "Nieznany status";
}
?>
Zamówienie wysłane

Polecenie 8: Sprawdź wybrany kolor

Instrukcja: Przypisz reakcję skryptu w zależności od wskazanego nazewnictwa koloru w zmiennej.
<?php
$kolor = "czerwony";
switch($kolor){
    case "czerwony":
        echo "Wybrano czerwony";
        break;
    case "niebieski":
        echo "Wybrano niebieski";
        break;
    default:
        echo "Nieznany kolor";
}
?>
Wybrano czerwony

Polecenie 9: Sprawdź typ konta użytkownika

Instrukcja: Zweryfikuj rolę lub poziom subskrypcji konta (np. "standard", "premium").
<?php
$konto = "premium";
switch($konto){
    case "standard":
        echo "Konto standard";
        break;
    case "premium":
        echo "Konto premium";
        break;
    default:
        echo "Nieznany typ konta";
}
?>
Konto premium

Polecenie 10: Sprawdź wybraną walutę

Instrukcja: Zmapuj kod trzyliterowy waluty (ISO) na jej odpowiadający symbol graficzny.
<?php
$waluta = "EUR";
switch($waluta){
    case "PLN":
        echo "Waluta: zł";
        break;
    case "USD":
        echo "Waluta: $";
        break;
    case "EUR":
        echo "Waluta: €";
        break;
    default:
        echo "Nieznana waluta";
}
?>
Waluta: €