Die If-Verzweigung – wie in der Abbildung oben zu sehen – überprüft eine Bedingung, die meistens von dem Zustand von einer Variablen abhängig ist. Es können aber auch mehrere Variablen geprüft werden. Wenn diese Bedingung erfüllt ist, so wird der Hauptzweig gegangen und der Hauptblock kommt zur Ausführung. Wenn diese Bedingung nicht erfüllt ist, wird der Else-Zweig gegangen und der Else-Block kommt zur Ausführung. Der Else-Zweig kann auch weggelassen werden. Nachdem die If-Verzweigung abgearbeitet ist, wird das Programm wie gehabt weiter fortgeführt.
Für die If-Verzweigung existieren zwei unterschiedliche Schreibweisen. In der ersten Schreibweise dürfen mehrere Anweisungen in den beiden Blöcken stehen:
1 2 3 4 5 6 7 8 9 |
<?php if (Bedingung) { Anweisung(); } else { ElseAnweisung(); } ?> |
In der zweiten Schreibweise darf nur jeweils eine Anweisung vorhanden sein:
1 2 3 4 5 6 |
<?php if (Bedingung) Anweisung(); else ElseAnweisung(); ?> |
Beide Schreibweisen dürfen miteinander gemischt werden. Wenn er nicht benötigt wird, darf der Else-Fall komplett ausgelassen werden.
Bei den Anweisungen handelt es sich um normale Programmanweisungen. Die Bedingung muss einen booleschen Wahrheitswert zurückliefern. Entweder es wird true
zurückgegeben, dann wird der erste Zweig aufgerufen oder false
, dann wird in den Else-Fall gesprungen.
Die einfachste Bedingung kann mit dem Vergleichsoperator ==
beschrieben werden. Beispielsweise kann hier geprüft werden, ob eine Variable einen Wert besitzt wie zum Beispiel wie folgend:
1 2 3 4 |
<?php if ($zähler == 10) echo("Zähler jetzt bei zehn"); ?> |
Die elseif
-Anweisung stellt eine Erweiterung der If-Verzweigung da. Manchmal ist es der Fall, dass in dem Fall, dass die erste Prüfung false
liefert, weitere Prüfungen im Else-Zweig gemacht werden müssen. Hierfür kann das elseif
-Statement genutzt werden:
1 2 3 4 5 6 7 8 9 |
<?php if ($x < $y) { echo ("$x ist kleiner als $y"); } elseif ($x == $y){ echo ("$x ist gleich $y"); } else { echo ("$x ist größer als $y"); } ?> |
In dieser Syntax kann else if
auch getrennt geschrieben werden. Das elseif
-Statement kann auch mehrfach eingefügt werden. Nur eine der Verzweigungen if
, elseif
oder else
wird ausgeführt. Sie sehen, dass die If-Verzweigung so immer mehr zu einer Switch-Verzweigung wird.
Ein weiterer Schritt in Richtung Switch-Verzweigung wird mit der alternativen Syntax getan. Statt der Nutzung von geschweiften Klammern ({}
) werden Doppelpunkte (:
) eingesetzt. Die ganze If-Anweisung muss mit einem endif;
geschlossen werden:
1 2 3 4 5 6 7 8 9 |
<?php if ($x < $y): echo ("$x ist kleiner als $y"); elseif ($x == $y): echo ("$x ist gleich $y"); else: echo ("$x ist größer als $y"); endif; ?> |
In dieser Syntax muss elseif
zusammen geschrieben werden.
1 Antwort
[…] Quelle: http://www.fit4php.net/sprachgrundlagen/variablen-und-kontrollstrukturen/kontrollstrukturen/if-verzw… […]