## elseif/else if

(PHP 4, PHP 5, PHP 7, PHP 8)

`elseif`, wie der Name schon sagt, ist eine Kombination aus `if` und `else`. Wie `else` erweitert es eine `if`-Kontrollstruktur, um alternative Befehle auszuführen, wenn die ursprüngliche `if`-Bedingung nicht zutrifft. Im Gegensatz zu `else` werden die Alternativ-Befehle aber nur ausgeführt, wenn die `elseif`-Bedingung zutrifft. Der folgende Beispielcode gibt a ist größer als b, a ist gleich groß wie b oder a ist kleiner als b aus:

`<?php
if ($a > $b) {
echo "a ist größer als b";
} elseif ($a == $b) {
echo "a ist gleich groß wie b";
} else {
echo "a ist kleiner als b";
}
?>`

Innerhalb einer `if`-Kontrollstruktur können mehrere `elseif`-Strukturen benutzt werden. Der erste `elseif`-Ausdruck (falls vorhanden), der zu `true` ausgewertet wird, wird ausgeführt. In PHP kann ebenfalls als Schlüsselwort `else if` (in zwei Wörtern) benutzt werden, was sich komplett identisch wie `elseif` (in einem Wort) verhält. Die syntaktische Bedeutung ist geringfügig anders (dasselbe Verhalten wie in C), aber das Ergebnis ist, dass beide sich exakt genauso verhalten.

Der `elseif`-Teil wird nur ausgeführt, wenn die vorhergehende `if`-Bedingung und alle vorhergehenden `elseif`-Bedingungen nicht zutrafen (`false`) und die aktuelle `elseif`-Bedingung zutrifft (`true`).

> Hinweis: Achtung: `elseif` und `else if` verhalten sich nur gleich, wenn geschwungene Klammern verwendet werden, wie im obigen Beispiel. Wenn ein Doppelpunkt verwendet wird, um `if`/`elseif`-Bedingungen zu definieren, muss `elseif` in einem einzigen Wort verwendet werden. Wenn `else if` in zwei Wörter aufgeteilt wird, gibt PHP einen Parse-Fehler aus.

`<?php
/* Falsch: */
if ($a > $b):
echo $a." ist größer als ".$b;
else if ($a == $b): // Funktioniert nicht.
echo "Die vorige Zeile wird einen Parse Error verursachen.";
endif;`
`<?php
/* Richtig: */
if ($a > $b):
echo $a." ist größer als ".$b;
elseif ($a == $b): // elseif in einem Wort!
echo $a." ist gleich groß wie ".$b;
else:
echo $a." ist weder größer als noch gleich wie ".$b;
endif;
?>`
`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open