Lekcja 6: Podejmowanie decyzji (if, elseif, else)

Każdego dnia podejmujesz decyzje: jeśli pada deszcz, bierzesz parasol, w przeciwnym razie bierzesz okulary przeciwsłoneczne. W programowaniu działa to identycznie. Używamy do tego instrukcji warunkowych, a ich podstawą jest if.

Szybkie przypomnienie: Łączenie tekstów (stringów)

Zanim zaczniemy, przypomnijmy sobie dwa sposoby łączenia tekstów, bo będziemy z nich korzystać. Stwórz plik decyzje.php.

<?php

$uzytkownik = "Adam";

// Sposób 1: Interpolacja (działa tylko w podwójnym cudzysłowie "")
echo "Witaj, $uzytkownik! Miłego dnia.\n";

// Sposób 2: Konkatenacja (łączenie za pomocą kropki .)
echo 'Witaj, ' . $uzytkownik . '! Miłego dnia.';

?>

Oba sposoby dają ten sam wynik. Interpolacja jest często czytelniejsza, a konkatenacja bardziej uniwersalna.


1. Podstawowa instrukcja if (jeśli)

Instrukcja if sprawdza, czy warunek w nawiasach jest prawdziwy (true). Jeśli tak, wykonuje kod zawarty w klamrach {}. Jeśli nie, po prostu go ignoruje.

Składnia: if (warunek) { // kod do wykonania, jeśli warunek jest prawdziwy }

Przykład: Sprawdźmy, czy hasło ma odpowiednią długość. Użyjemy do tego wbudowanej funkcji strlen(), która zwraca liczbę znaków w tekście.

<?php

$haslo = "sekret123";

// Sprawdzamy, czy długość hasła jest większa niż 8 znaków
if (strlen($haslo) > 8) {
    echo "Twoje hasło jest wystarczająco długie i bezpieczne.";
}

// Ten kod się nie wykona, bo warunek nie jest spełniony
if (strlen($haslo) < 5) {
    echo "Twoje hasło jest zdecydowanie za krótkie!";
}

?>

Uruchom plik w przeglądarce (http://localhost/decyzje.php). Zobaczysz tylko pierwszy komunikat, ponieważ drugi warunek nie jest prawdziwy.


2. Dodanie alternatywy: else (w przeciwnym razie)

Co jeśli chcemy wyświetlić komunikat, gdy hasło jest za krótkie? Tu z pomocą przychodzi else. Wykonuje się on tylko wtedy, gdy warunek w if jest fałszywy (false).

Składnia: if (warunek) { // kod, gdy prawda } else { // kod, gdy fałsz }

Przykład:

<?php

$wiek = 16;

if ($wiek >= 18) {
    echo "Jesteś pełnoletni. Możesz wejść.";
} else {
    echo "Nie masz 18 lat. Wstęp wzbroniony.";
}

?>

Wynik: Nie masz 18 lat. Wstęp wzbroniony.


3. Wiele warunków: elseif (w przeciwnym razie, jeśli)

Czasami mamy więcej niż dwie możliwości. Wyobraź sobie system logowania z różnymi rolami użytkowników. elseif pozwala nam sprawdzać kolejne warunki, jeśli poprzednie były fałszywe.

Składnia: if (warunek1) { ... } elseif (warunek2) { ... } else { ... }

Przykład:

<?php

$rola = "moderator"; // Spróbuj zmienić na "admin" lub "uzytkownik"

if ($rola === "admin") {
    echo "Witaj, adminie! Masz dostęp do panelu zarządzania.";
} elseif ($rola === "moderator") {
    echo "Witaj, moderatorze! Możesz zarządzać komentarzami.";
} else {
    echo "Witaj, użytkowniku! Miłego przeglądania strony.";
}

?>

PHP sprawdza warunki po kolei:

  1. Czy $rola to "admin"? Nie.
  2. W takim razie, czy $rola to "moderator"? Tak. Wykonuje kod z tego bloku i kończy sprawdzanie.
  3. Blok else jest ignorowany, ponieważ jeden z wcześniejszych warunków był prawdziwy.

Podsumowanie

Gratulacje! Opanowałeś właśnie rdzeń logiki programowania. Wiesz już, jak za pomocą if, elseif i else sterować przepływem programu, by reagował na różne sytuacje. To umiejętność, której będziesz używać w każdym, nawet najbardziej skomplikowanym projekcie.

  • if – sprawdza warunek.
  • else – wykonuje się, gdy if jest fałszywe.
  • elseif – pozwala sprawdzić kolejne warunki.
Przewijanie do góry