Top
Sichtreise / Tutorials  / HTML & PHP  / PHP Tutorial – Schritt 8: If-Anweisung in PHP

PHP Tutorial – Schritt 8: If-Anweisung in PHP

Zurzeit haben wir in PHP noch nicht viel gemacht, was nicht auch Excel oder ein Taschenrechner könnte. Deshalb betreten wir nun das Gebiet der If-Anweisung. Die If-Anweisung ist ein grundlegendes Element in PHP. Ausgehend von einer bestimmten Situation oder einem Ergebnis kann man PHP somit mitteilen bestimmte Wege zu gehen oder andere Funktionen auszuführen.

|

If-Anweisung

Das Grundgerüst einer If-Anweisung sieht eigentlich immer gleich aus:

|

In der ersten Zeile wird die Bedingung verankert, die geprüft werden soll:

|

Ist diese TRUE (Wahr), so wird der Code ausgeführt, der in den zwei geschweiften Klammern ({) und (}) verankert ist, ausgeführt:

Achtung: Eine If-Anweisung wird nicht mit einem Semikolon versehen bzw. beendet!

|

Ist die Bedingung FALSE (falsch) so wird der Code in den beiden Klammern nicht durchlaufen!

Versuchen wir das mit einem Beispiel und unseren zwei bekannten Zahlen:

|

Die Ausgabe muss in diesem Fall wie folgt lauten: “Die Zahl ist gleich 19”

Warum? Durch die erste Zeile prüfen wir ob der Inhalt der Variable $zahl1 gleich ist (Vergleichsoperator Ist-Gleich (==)) wie 19:

|

Da dies zutrifft (TRUE oder wahr) wird der Code in den Schleifen ausgeführt:

|

Versuche nun einmal die Zeile auf folgendes zu ändern und prüfe das Ergebnis:

|

Die Ergebnisseite müsste leer sein. Die Variable $zahl2 ist nämlich nicht gleich 19 und somit ist kein weiterer Code zum ausführen vorhanden.

Was machen wir aber, wenn wir diese zweite Situation auch abfangen und mit ganz eigenem Code versehen möchten? Dafür gibt es die If-Else Anweisung:

|

If-Else Anweisung

Die If-Else Anweisung prüft eine Bedingung (wie bereits auch die If-Anweisung) und hat quasi einen Notfallplan falls die Bedingung nicht zutrifft:

|

Ist die Bedingung in der If-Klammer TRUE (wahr), so wird Anweisung 1 durchlaufen, ist sie jedoch FALSE (falsch), so wird Anweisung 2 durchlaufen.

|

Spiele das Skript mehrfach durch, du kannst wahlweise die Bedingung in der IF-Klammer von $zahl1 auf $zahl2, den Prüfwert von 19 auf eine andere Zahl, oder die Inhalte der Variable $zahl1 ganz am Anfang des Skripts ändern. Dann kontrolliere die Ausgabe.

|

Nun kann es aber hin und wieder vorkommen (*g*) dass man noch mehr Bedingungen abfangen möchte. Sprich ob Bedingung 1 zutrifft, oder Bedingung 2, oder Bedingung 3, usw. – Sofern das noch einigermassen überschaubar ist, kann man sich mit der ElseIf Abfrage helfen:

|

ElseIf Anweisung

Die ElseIf-Anweisung kann mehrere Bedingungen prüfen, wobei stets die oberste Bedingung Vorrang hat. Sprich, sobald eine Bedingung TRUE (wahr) ist, wird keine andere Bedingung mehr geprüft:

|

In einem kleinen Beispiel:

|

Du kannst natürlich soviele ElseIf Anweisungen hineinpacken wie du willst, allerdings leidet darunter schnell einmal die Übersichtlichkeit. Deshalb gibt es da auch noch andere Methoden: Kurzform und Switch

|

Die Kurzformen

Die Kurzformen werden fast in keinem Tutorial richtig erwähnt. Man stößt aber spätestens bei großen Skripts oder auch bei professionellen, kleinen Skripts auf diese Schreibweise. Und wenn man sie nicht kennt, dann versteht man eigentlich auch gar nicht was da so passiert. Dabei ist das gar kein Geheimnis:

|

Als kleines PHP Beispiel einmal in Langform:

|

Und nun als Kurzform:

|

Dies kann man auch mit weiteren Prüfungen verknüpfen (If, Else if, Else):

|

Wichtig ist dabei, die nächste Prüfung in einer eigenen Klammer festzulegen:

Ich würde dir für das vertiefen dieser Übung empfehlen, einige Versuche auf  http://phpfiddle.org/ durchzuführen.

|

photo credit: Martin Deutsch via photopin cc

Author Profile

RonnyDee
RonnyDee"Wenn du tust, was du immer getan hast, dann wirst du bekommen, was du immer bekommen hast"
Ich blogge hier über alle Themen mit denen ich in Berührung komme. Möchtest du wissen, warum ich so denke was ich schreibe, dann findest du unter "Über mich" mehr Informationen über mich und mein Leben
1 Comment

Post a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Skip to content