:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte
Unternehmen im
Anbieterverzeichnis von SELFPHP
:: SELFPHP Forum ::
Fragen rund um die Themen PHP? In über
120.000 Beiträgen finden Sie sicher die passende
Antwort!
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
:: Qozido ::
Die Bilderverwaltung mit Logbuch für
Taucher und Schnorchler.
|
|
if-elseif-Anweisung |
Die if-elseif-Anweisung wird vor allem für Mehrfachverzweigungen eingesetzt. Damit lassen sich in Abhängigkeit vom Wert einer Variablen verschiedene Anweisungen ausführen.
Definition
if (Bedingung/Ausdruck) {
Anweisung/en;
} elseif (Bedingung/Ausdruck) {
Anweisung/en;
} elseif (Bedingung/Ausdruck) {
Anweisung/en;
} else {
Anweisung/en;
}
Bild 3.5: Ablaufschema einer if-elseif-Anweisung
Fallbeispiel
wenn mein Lohn den Wert
1000 hat: führe Anweisung A aus
2000 hat: führe Anweisung B aus
3000 hat: führe Anweisung C aus
4000 hat: führe Anweisung D aus
in allen andern Fällen: führe Anweisung E aus
Beachten Sie den grundsätzlichen Unterschied zur if-else-Anweisung. Die Bedingung einer if-else-Anweisung ist immer ein boolescher Wert, der nur einen der beiden Werte true oder false annehmen kann. Folglich verzweigt die if-else-Anweisung auch nur in zwei alternative Anweisungsblöcke. Bei der Mehrfachverzweigung wird dagegen der Wert einer Variablen abgefragt: Der Programmierer kann grundsätzlich ebenso viele alternative Verzweigungen formulieren, wie es Werte für die Variable gibt.
$meinLohn = 3000;
// Mehrfachverzweigung (if-elseif-Anweisung)
// Ergebnis: "C"
if ($meinLohn == 1000) {
// Anweisung A
$ausgabe = "A";
} elseif ($meinLohn == 2000) {
// Anweisung B
$ausgabe = "B";
} elseif ($meinLohn == 3000) {
// Anweisung C
$ausgabe = "C";
} elseif ($meinLohn == 4000) {
// Anweisung D
$ausgabe = "D";
} else {
// Anweisung E
$ausgabe = "E";
}
echo $ausgabe;
Lassen Sie sich aber nicht von der Einrückung täuschen. Es handelt sich hier immer noch um vier, immer tiefer verschachtelte if-else-Anweisungen. Der Interpreter prüft zuerst, ob der Wert von meinLohn gleich 1.000 ist. Ist dies nicht der Fall, prüft er im else-Teil, ob meinLohn gleich 2.000 ist. Stimmt auch dies nicht, verzweigt er zum else-Teil mit dem Vergleich meinLohn gleich 3.000. Stimmt auch dies nicht, verzweigt er zum else-Teil mit dem Vergleich meinLohn gleich 4.000. Liefert auch dieser Vergleich false, landet der Interpreter in dem letzten else-Teil, der alle anderen nicht überprüften Fälle abfängt.
Alternative Syntax
In PHP steht auch für die if-elseif-Anweisung eine alternative Schreibweise zur Verfügung.
Definition
if (Bedingung/Ausdruck):
Anweisung/en;
elseif:
Anweisung/en;
else:
Anweisung/en;
endif;
Beispiel – Schreibweise wie gehabt
<?php
$chef = "Schmidt";
if ($chef == "Müller") {
echo "Müller ist der Chef";
} elseif ($chef == "Schmidt") {
echo "Scmidt ist der Chef";
} else {
echo "Unbekannter Chef";
}
?>
Beispiel – alternative Schreibweise
<?
$chef = "Schmidt";
if ($chef == "Müller"):
?>
Müller ist der Chef
<?
elseif ($chef == "Schmidt"):
?>
Schmidt ist der Chef
<?
else:
?>
Unbekannter Chef
<?
endif
?>
|
|
|
|
|
|