5.7.6 Switch, case, break, default

Die switch-case-Anweisung wird gerne benutzt, wenn mehrere genau definierte Zustände vorhanden sind. Sie wird z.B. verwendet, wenn man einen Wert mit verschiedenen anderen vergleichen will und abhängig vom Ergebnis verschiedene Funktionen ausgeführt werden sollen. Vergleichbar ist dies mit der if/elseif-Anweisung. default wird ausgeführt, wenn keine der oben genannten case-Bedingungen zutrifft und sollte somit immer als letzte case-Anweisung angegeben sein.

$hour = date("H");
switch ($hour) {
    case 8:
        echo "Gääähn";
        break;
    case 9:
        echo "Kaffee";
        break;
    case 10:
        echo "Aufstehen???";
        break;
    default:
        echo "OK";
}

Hinweis

Wenn am Ende einer case-Anweisung kein break steht, werden alle folgenden case-Anweisungen ebenfalls ausgeführt. Dieses Verhalten kann manchmal sehr sinnvoll sein. Stellen Sie sich vor, Sie wollen einen Kalender erstellen, der die verbleibenden Wochentage bis Sonntag darstellt. Wenn heute Mittwoch wäre, dann würde diese Art der Schleife sehr einfach alle Tage bis Sonntag auflisten können.