English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In diesem Tutorial lernen Sie, wie Sie switch verwenden-case-Anweisung, um Ausdrücke mit verschiedenen Werten in PHP zu testen oder zu bewerten.
switch-case-Anweisung ist if-elseif-Ersatz für die else-Anweisung, die fast die gleiche Operation ausführt. switch-Die case-Anweisung testet eine Variable auf eine Reihe von Werten und führt den Code für das erstgefundene Übereinstimmung aus.
switch(n){ case etikett1: // Auszuführender Code, wenn n=etikett1 break; case etikett2: // Auszuführender Code, wenn n=etikett2 break; ... default: // Auszuführender Code, wenn n mit allen Etiketten nicht übereinstimmt }
Sehen Sie sich den folgenden Beispiel an, der jeden Tag eine unterschiedliche Nachricht anzeigt.
<?php $today = date("D"); switch($today){ case "Mon": echo "Heute ist Montag. Putzen Sie Ihr Haus."; break; case "Tue": echo "Heute ist Dienstag. Kaufen Sie etwas zu essen."; break; case "Wed": echo "Heute ist Mittwoch. Gehen Sie zum Arzt."; break; case "Thu": echo "Heute ist Donnerstag. Reparieren Sie Ihr Auto."; break; case "Fri": echo "Heute ist Freitag. Heut Nacht gibt es eine Party."; break; case "Sat": echo "Heute ist Samstag. Es ist Zeit für ein Filmabend."; break; case "Sun": echo "Heute ist Sonntag. Nehmen Sie sich eine Auszeit."; break; default: echo "Heute gibt es keine verfügbaren Informationen."; break; } ?>Testen Sie und sehen Sie, ob‹/›
switch-case-Anweisung und if-elseif-Die Unterschiede zwischen der else-Anweisung liegen in einem wichtigen Aspekt. Der switch-Befehl führtzeilenweise aus (d.h. jede Anweisung), wenn PHP einen Fall, bei dem die Bedingungsbedeutung wahr ist, findet, führt er nicht nur den Code aus, der mit dem Fall korrekt ist, sondern führt auch alle nachfolgenden Fall-Anweisungen aus, bis zur Ende des Blocks. Der switch-Block wird automatisch umgeschaltet.
Um dies zu verhindern, fügen Sie bitte am Ende jedes case-Blocks eine break-Anweisung hinzu. Die break-Anweisung teilt PHP mit, dass es nach dem Ausführen des Codes für den ersten tatsächlichen case aus dem switch aussteigen soll-case-Anweisungsblock.