Teil von  SELFPHP   Teil von  Praxisbuch  Teil von  Kontrollstrukturen
Letztes Update: 16.08.2005 17:53:45


Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

 
* Link führt ins Internet



 

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;
}


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
?>





 


if-else-Anweisung
 






© 2001-2005 E-Mail SELFPHP - Damir Enseleit, info@selfphp.deImpressumKontakt
© 2005 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de