switch to instrukcja wyboru, która pozwala wykonać różne fragmenty kodu zależnie od wartości zmiennej lub wyrażenia. Jest często czytelniejsza niż długa seria warunków if, gdy porównujemy jedną wartość z wieloma możliwymi przypadkami.
Składnia
switch ($zmienna) {
case 1:
// kod dla wartości 1
break;
case 2:
// kod dla wartości 2
break;
default:
// kod domyślny
}
Znaczenie elementów
switch ($zmienna)- wskazuje wartość, która będzie porównywana,case- określa konkretny przypadek,break- przerywa dalsze sprawdzanie przypadków,default- wykonuje się, gdy żadencasenie pasuje.
Przechodzenie między przypadkami
Jeżeli po case nie ma instrukcji break, PHP przechodzi do następnego przypadku. Nazywa się to fall-through.
Przykład:
switch ($liczba) {
case 10:
case 20:
$liczba++;
break;
default:
$liczba = 0;
}
Ten kod oznacza: jeżeli $liczba ma wartość 10 albo 20, zwiększ ją o 1. W przeciwnym razie ustaw ją na 0.
Równoważny zapis za pomocą if:
if ($liczba == 10 or $liczba == 20)
$liczba++;
else
$liczba = 0;
W zadaniach egzaminacyjnych należy zwracać uwagę na brak break, ponieważ może on zmienić działanie całej instrukcji.