Źródło: zawodowe.edu.pl (AI)
Która z poniższych instrukcji jest równoważna z poleceniem switch w języku PHP? switch ($liczba) {
case 10:
case 20: $liczba++; break;
default: $liczba = 0;
}
Instrukcja 1.
if ($liczba==10)
$liczba++;
else
$liczba = 0;
Instrukcja 2.
if ($liczba==10 or $liczba==20)
$liczba++;
else
$liczba = 0;
Instrukcja 3.
if ($liczba==10 or $liczba==20)
$liczba++;
Instrukcja 4.
if ($liczba==10 and $liczba==20)
$liczba++;
else
$liczba = 0;
Warianty odpowiedzi
-
A
Polecenie 3
-
B
Polecenie 1
-
C
Polecenie 2
-
D
Polecenie 4
Wyjaśnienie
Przeanalizujmy krok po kroku zachowanie przedstawionej instrukcji switch.
Gdy zmienna $liczba ma wartość 10, kod przechodzi do gałęzi case 20, ponieważ przy wartości 10 brakuje instrukcji break. Oznacza to, że operacja inkrementacji $liczba++ wykona się zarówno dla wartości 10, jak i dla wartości 20.
W logice programowania odpowiada to spójnikowi LUB (or). Jeśli żaden z tych warunków nie zostanie spełniony, wykonany zostanie blok default, przypisujący wartość 0. Dlatego identyczne działanie zapewnia Instrukcja 2.