Instrukcja if...else w PHP

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Instrukcja if...else służy w PHP do wykonywania różnych fragmentów kodu zależnie od spełnienia warunku. Warunek zapisuje się w nawiasach okrągłych, a wykonywany kod najczęściej w klamrach.

Podstawowa składnia

if ($wiek >= 18) {
    echo "Pełnoletni";
} else {
    echo "Niepełnoletni";
}

Jeżeli warunek w if jest prawdziwy, wykona się pierwszy blok. W przeciwnym razie wykona się blok else.

Średniki w instrukcji if

W PHP średnik kończy pojedynczą instrukcję, np. echo, przypisanie albo wywołanie funkcji. Nie stawia się średnika bezpośrednio po nagłówku if (...), jeśli po nim występuje blok kodu w klamrach.

Poprawnie:

if ($x > 0) {
    echo "Dodatnia";
} else {
    echo "Niedodatnia";
}

Poprawnie także bez klamerek dla jednej instrukcji:

if ($x > 0)
    echo "Dodatnia";
else
    echo "Niedodatnia";

W tym drugim wariancie średnik po echo "Dodatnia" jest konieczny, ponieważ kończy instrukcję wykonywaną po if. Jeśli go zabraknie przed else, interpreter zgłosi błąd składni.

Typowy błąd

if ($x > 0)
    echo "Dodatnia"
else
    echo "Niedodatnia";

Brakuje średnika po echo "Dodatnia", więc PHP nie potrafi poprawnie zinterpretować początku else.

Ważne na egzaminie

  • wcięcia poprawiają czytelność, ale zwykle nie decydują o działaniu PHP,
  • zmienne można przypisywać lub sprawdzać w warunkach,
  • puste pole formularza nie musi powodować błędu składni,
  • brak wymaganego średnika może zatrzymać wykonanie skryptu.