| |
| * Link führt ins Internet |
|
| |
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;
}
Ablaufschema einer if-elseif-Anweisung
Fallbeispiel
WENN MEINLOHN 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.
Altenative 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
?>
|
|
|
|
|
|
|
|