Kursy

Instrukcja switch

Instrukcja switch

Przypomnijmy sobie instrukcję if. Wykorzystywaliśmy ją aby wykonać określone działanie gdy spełniony jest pewien warunek. Instrukcję tę mogliśmy wykorzystać również aby sprawdzić wartość zmiennej i w zależności od wyniku wykonać różne działanie. Przypomnijmy tutaj stworzony przez nas skrypt, przekształcający nazwy dni tygodnia na nazwy polskie:

<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" Content="tekst/html"; charset=iso-8859-2">
<TITLE>Dzień tygodnia<TITLE>
</HEAD>
<BODY>

<?
$dzien=date("l"); //Zmiennej $dzien przypisaliśmy za pomocą funkcji date aktualny dzień tygodnia

if ($dzien=="Monday") {
print ("Dzisiaj jest poniedziałek");
} elseif ($dzien=="Tuesday") {
print ("Dzisiaj jest wtorek");
} elseif ($dzien=="Wednesday") {
print ("Dzisiaj jest środa");
} elseif ($dzien=="Thursday") {
print ("Dzisiaj jest czwartek");
} elseif ($dzien=="Friday") {
print ("Dzisiaj jest piątek");
} elseif ($dzien=="Saturday") {
print ("Dzisiaj jest sobota");
} else {
print ("Dzisiaj jest niedziela");
}

?>
</BODY>
</HTML>



Zamiast instrukcji if można tu wykorzystać instrukcję wyboru (instrukcja switch), która pozwala w sposób bardziej czytelny zaprogramować te działanie. Oto postać instrukcji switch:

switch (wyrażenie) {
case wartosc1:
dzialanie1;
break;
case wartosc2:
dzialanie2;
break;
….
default: dzialanie;
}


wartosc1, wartosc2 ... nazywamy wyrażeniami wyboru. Służą one do określenia, które działanie ma zostać podjęte - to, dla którego warunek posiada wartość TRUE. W przypadku, gdy żaden z warunków nie będzie posiadał wartości TRUE, wykonywane są instrukcje z bloku default. Break oznacza koniec wykonywania porównań. Nasz przykład można wobec tego zapisać:

<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" Content="tekst/html"; charset=iso-8859-2">
<TITLE>Dzień tygodnia<TITLE>
</HEAD>
<BODY>

<?
$dzien=date("l"); //Zmiennej $dzien przypisaliśmy za pomocą funkcji date aktualny dzień tygodnia

switch ($dzien) {
case "Monday":
print ("Dzisiaj jest poniedziałek");
break;
case "Tuesday" :
print ("Dzisiaj jest wtorek");
break;
case "Wednesday" :
print ("Dzisiaj jest środa");
break;
case "Thursday" :
print ("Dzisiaj jest czwartek");
break;
case "Friday" :
print ("Dzisiaj jest piątek");
break;
case "Saturday" :
print ("Dzisiaj jest sobota");
break;
default: print ("Dzisiaj jest niedziela");
}

?>
</BODY>
</HTML>



Pobierz przykład: switch.zip>