Příkaz switch
Příkaz switch má stejnou funkci jako série příkazů if, které testují stejný výraz. Je výhodný v tom případě, kdy je potřeba porovnávat hodnotu výrazu s několika hodnotami, protože se výraz za switch vyhodnocuje pouze jednou (na rozdíl od if..elseif).
Jako jednoduchý příklad lze uvést skript, který zjišťuje hodnotu proměnné $a.
<?php
switch ($a) {
case "0":
print "hodnota \$a je 0";
break;
case "1":
print "hodnota \$a je 1";
break;
case "2":
print "hodnota \$a je 2";
break;
case "3":
print "hodnota \$a je 3";
break;
default:
print "hodnota \$a je větší než 3 nebo je záporná";
}
?>
Konstrukt switch provede kód, který je uveden za konstruktem case s hodnotou odpovídající hodnotě testovaného výrazu. Provádění kódu pokračuje dokud se nedosáhne konce bloku switch nebo dokud se nenarazí na příkaz break. Pokud tedy např. vynecháme break u case "0" a hodnota proměnné $a bude rovna nule vytisknou se první dvě hlášení, protože za case "1" bude příkaz break uveden. Kód za default se provede v případě, že skript nenarazil na žádný case, který vyhovuje testované podmínce.