Instrukcja switch/case w PHP

Instrukcja switch/case w PHP służy do wielokrotnego sprawdzania wartości tej samej zmiennej lub wyrażenia. Zamiast pisać liczne if...elseif, możesz w czytelny sposób rozgałęziać logikę w zależności od kilku możliwych scenariuszy.


Podstawy instrukcji switch/case

  • switch (wyrazenie)
    • Sama instrukcja switch analizuje wartość wyrazenie.
    • Poniżej znajduje się kilka bloków case dla różnych możliwych wartości.
  • case wartosc:
    • Jeśli wyrazenie równa się wartosc, kod w tym bloku zostanie wykonany.
    • Zwykle kończymy blok słowem kluczowym break, aby przerwać dalsze sprawdzanie.
  • default:
    • Opcjonalna sekcja, uruchamiana wtedy, gdy żadna z wartości case nie pasuje.
Przykład
<?php
$dzialanie = "add";

switch ($dzialanie) {
  case "add":
    echo "Wybrano dodawanie";
    break;
  case "sub":
    echo "Wybrano odejmowanie";
    break;
  case "mul":
    echo "Wybrano mnożenie";
    break;
  default:
    echo "Nieznane działanie.";
}
?>
Zwrócona zawartość
Wybrano dodawanie

Przykładowe zastosowania instrukcji switch/case

  • Obsługa różnych komend
    • Na podstawie wpisanego polecenia (np. "start", "stop"), uruchamiasz różne fragmenty kodu.
  • Wybór rodzaju działania matematycznego
    • Użytkownik podaje typ operacji (add, sub, mul), a w zależności od wyboru wykonujesz odpowiednie obliczenia.
  • Proste menu w aplikacji
    • Dla każdego case wywołujesz inną funkcję, np. case "1": pokazOpcje(); break; i tak dalej.

Podsumowanie

  • switch/case jest alternatywą dla wielu if...elseif, poprawiając czytelność kodu.
  • Warto pamiętać o instrukcji break w każdym case, aby uniknąć „prześlizgiwania się” do kolejnych bloków.
  • default obsługuje sytuację, gdy żadna z wcześniejszych case nie została spełniona.
  • Konstrukcja ta bywa przydatna np. do obsługi komend, rodzajów operacji lub rozróżniania typów danych.