PHP - if...else...elseif

Syntax

if(Bedingung) {
 bedingter Code
}
[elseif(andere Bedingung) { bedingter Code } ]
[else { auszuführender Code, wenn keine Bedingung zutrifft } ]

Erklärung

Die if-Funktion besteht aus zwei Klammerpaaren: Zwischen den runden Klammern steht die Bedingung, die mit Vergleichsoperatoren formuliert wird. Zwischen den geschweiften Klammern (sog. Block) stehen die Anweisungen, die ausgeführt werden, sofern die Bedingung erfüllt ist (wahr ist). Ist die Bedingung nicht erfüllt (unwahr), so werden alle Anweisungen im Block übersprungen.

Beispiel

<?php

// zuvor hat der Besucher sein Alter eingegeben,

// das in $alter gespeichert ist

if ($alter < 18)

 { echo "Der Besucher ist nicht volljährig"; }

?>

Durch eine einfache Erweiterung ("else") läßt sich auch angeben, welche Anweisungen durchgeführt werden sollen, wenn die Bedingung nicht wahr ist.

Beispiel

<?php

// zuvor hat der Besucher ein Passwort eingegeben,

// das in $passwort gespeichert ist

if ($passwort == "geheim")

 { echo "Zutritt gewährt"; }

else { echo "Falsches Passwort !"; }

?>

Will man mehrere mögliche Bedingungen verarbeiten, könnte man natürlich mehrere if-Anweisungen hintereinander stellen:

Beispiel

<?php

// $a enthält eine Zahl zwischen 1 und 3

if ($a == 1)

 { echo "a ist 1"; }

if ($a == 2)

 { echo "a ist 2"; }

if ($a == 3)

 { echo "a ist 3"; }

?>

Eleganter und übersichtlicher ist in diesem Fall jedoch die Verwendung von elseif. Damit lassen sich zusätzliche Bedingungen einfügen, die in der angegebenen Reihenfolge von oben nach unten durchgeprüft werden. Sobald eine Bedingung zutrifft (wahr ist), wird der dazugehörige Code-Block ausgeführt und anschließend die ganze if-Funktion verlassen. Die anderen Bedingungen werden in diesem Fall also nicht mehr geprüft.

Beispiel

<?php

// $a enthält eine Zahl zwischen 1 und 3

if ($a == 1)

 { echo "a ist 1"; }

elseif ($a == 2)

 { echo "a ist 2"; }

elseif ($a == 3)

 { echo "a ist 3"; }

?>

Natürlich lassen sich elseif und else auch kombinieren, so daß der Code-Block nach else ausgeführt wird, sofern weder die if-Abfrage, noch eine der elseif-Abfragen wahr ist.

Vergleiche auch switch

zurück: PHP - Kontrollstrukturen

Ergänzung? Fehler? Schreib uns an team@phpbox.de
Du findest phpbox.de nützlich? Wir freuen uns über einen Link auf phpbox.de

Einstieg in PHP 8 und MySQL
PHP Buch