Switch-Case und elseif in PHP

Auf dieser Seite werden zwei Möglichkeiten vorgestellt, mit denen PHP unterschiedliche Bedingungen prüfen kann: elseif und switch.


1. Die elseif-Anweisung

Mit elseif können mehrere Bedingungen nacheinander geprüft werden. Sobald eine Bedingung wahr ist, wird der entsprechende Code ausgeführt.

Codebeispiel

$note = 2;

if ($note == 1) {
    echo "Sehr gut";
} elseif ($note == 2) {
    echo "Gut";
} elseif ($note == 3) {
    echo "Befriedigend";
} else {
    echo "Andere Note";
}

Ergebnis

Gut

Erklärung

Die Variable $note hat den Wert 2. Die erste Bedingung ist falsch. Die zweite Bedingung ist wahr. Deshalb wird "Gut" ausgegeben.

Interaktives Beispiel

Wählen Sie eine Schulnote aus und klicken Sie auf "Prüfen".

Ausgabe: Gut


2. Die switch-Anweisung

Mit switch kann eine Variable mit mehreren festgelegten Werten verglichen werden. Jeder mögliche Wert wird mit case beschrieben.

Codebeispiel

$tag = 3;

switch ($tag) {
    case 1:
        echo "Montag";
        break;

    case 2:
        echo "Dienstag";
        break;

    case 3:
        echo "Mittwoch";
        break;

    default:
        echo "Anderer Wochentag";
}

Ergebnis

Mittwoch

Erklärung

Die Variable $tag hat den Wert 3. PHP überprüft die einzelnen case-Anweisungen. Bei case 3 wird "Mittwoch" ausgegeben. Mit break wird die switch-Anweisung beendet.

Interaktives Beispiel

Wählen Sie eine Zahl zwischen 1 und 7. PHP zeigt den entsprechenden Wochentag an.

Ausgabe: Mittwoch


3. Unterschied zwischen elseif und switch

elseif switch
Prüft verschiedene Bedingungen. Vergleicht einen Wert mit mehreren Fällen.
Verwendet if, elseif und else. Verwendet switch, case und default.
Geeignet für komplexe Vergleiche. Geeignet für feste Auswahlmöglichkeiten.

4. Praktische Übungen

Aufgabe 1

Wofür wird die Anweisung elseif verwendet?

Lösung anzeigen
Mit elseif können mehrere
Bedingungen nacheinander
geprüft werden.

Aufgabe 2

Erstellen Sie eine Abfrage, die bei der Zahl 1 den Text "Sehr gut" ausgibt.

Lösung anzeigen
<?php

if ($note == 1) {
    echo "Sehr gut";
}

?>

Aufgabe 3

Ergänzen Sie die Abfrage für die Note 2.

Lösung anzeigen
<?php

if ($note == 1) {
    echo "Sehr gut";
}
elseif ($note == 2) {
    echo "Gut";
}

?>

Aufgabe 4

Welcher Block wird ausgeführt, wenn keine Bedingung zutrifft?

Lösung anzeigen
else

Aufgabe 5

Wofür wird die switch-Anweisung verwendet?

Lösung anzeigen
Zum Vergleichen eines Wertes
mit mehreren festen Fällen.

Aufgabe 6

Erstellen Sie einen switch-Block, der bei der Zahl 1 "Montag" ausgibt.

Lösung anzeigen
<?php

switch ($tag) {
    case 1:
        echo "Montag";
        break;
}

?>

Aufgabe 7

Welche Anweisung beendet einen case-Block?

Lösung anzeigen
break;

Aufgabe 8

Welche Anweisung wird ausgeführt, wenn kein case zutrifft?

Lösung anzeigen
default

Aufgabe 9

Erstellen Sie einen case-Block, der bei der Zahl 5 den Text "Freitag" ausgibt.

Lösung anzeigen
case 5:
    echo "Freitag";
    break;

Aufgabe 10

Welche Ausgabe erscheint, wenn $tag den Wert 3 besitzt?

Lösung anzeigen
Mittwoch

Aufgabe 11

Wann sollte man switch statt elseif verwenden?

Lösung anzeigen
Wenn eine Variable mit
mehreren festen Werten
verglichen werden soll.

Aufgabe 12

Erstellen Sie einen vollständigen switch-Block für die Werte 1 bis 3.

Lösung anzeigen
<?php

switch ($tag) {
    case 1:
        echo "Montag";
        break;

    case 2:
        echo "Dienstag";
        break;

    case 3:
        echo "Mittwoch";
        break;

    default:
        echo "Ungültig";
}

?>

4. Zusammenfassung

Mit elseif können mehrere Bedingungen geprüft werden. Die switch-Anweisung ist besonders praktisch, wenn eine Variable verschiedene feste Werte annehmen kann. Beide Anweisungen helfen dabei, Programme dynamisch zu gestalten.