Meldung

21.07.2008 - If-Statement: Bedingte Ausführung von PHP-Code

Mit der If-Else-Anweisung kann der Webprogrammierer eine bedingte Ausführung von PHP-Code einleiten. Dabei können einzelne Anweisungen oder – in geklammerter Form – ganze Blöcke von PHP-Anweisungen unter bestimmten Voraussetzungen ausgeführt werden. Die Bedingung, unter der ein Code-Block ausgeführt wird, muss in Form eines Ausdrucks formuliert werden, der entweder True oder False ist – zutrifft oder eben nicht. Neben der If-Else-Variante, bei der lediglich zwischen zwei Fällen unterschieden wird, kann der Entwickler mit weiteren ElseIf-Konstrukten weitere Fälle definieren.

Jede weitere, per ElseIf eingeleitete Fallunterscheidung, wird mit einer weiteren Abfrage formuliert, welche die Bedingungen enthält, unter denen der entsprechende Code ausgeführt wird. Normalerweise wird bei solchen Abfragen der Inhalt einer oder auch mehrerer Variablen mit einer Ausführungsbedingung verglichen. Als Bedingung für If-Else-Statements können konstante Werte, Wertebereiche oder auch logisch miteinander verknüpfte Einzeloperationen genutzt werden.

Anhand eines Beispiels wird auch erklärt auf welche Weise die Existenz einer Datei abgefragt werden kann (Prüfen ob Datei existiert). Dies ist bei Dateioperationen sinnvoll, da man grundsätzlich nicht davon ausgehen sollte, dass eine Datei, aus der Daten gelesen oder in der Informationen abgelegt werden sollen, auch vorhanden ist. Zum Umgang mit Dateien unter PHP finden Sie ebenfalls einige Beispielscripte. Zu finden sind diese unter Dateien unter PHP, PHP File Download und PHP File Upload. Auch die Kurzschreibweise des If-Statements wird hier angesprochen. Diese, auch unter anderen Programmiersprachen verfügbare, Variante der If-Else-Anweisung erspart dem Webprogrammierer einiges an Schreibarbeit und kann die Übersichtlichkeit des PHP-Code.

Stehen mehrere Verzweigungsmöglichkeiten zur Unterscheidung, so kann der Einsatz des Switch-Statements sinnvoll sein. Dieser Verzweigungstyp ist immer dann sinnvoll, wenn zur Unterscheidung der Fälle stets auf den selben Ausdruck geprüft werden muss. Jeder Fall wird durch ein bestimmtes Ergebnis der Abfrage (des Ausdrucks) definiert. Im Grunde kann auch eine If-ElseIf-Struktur verwendet werden, allerdings ist diese in ihrer Schreibweise etwas aufwändiger. Vorteilhaft am Switch-Case-Statement ist allerdings, dass der Ausdruck nur einmal ausgewertet wird, was die Laufzeit – zugegebenermaßen minimal – verringert. Der Else-Teil der If-Anweisung wird bei Switch-Case durch den Fall default abgebildet.

Beachten Sie auch unsere Ausführungen zu bedingten Anweisungen unter JavaScript. Bei dieser client-seitigen Programmiersprachen, die in der Browser-Anwendung des Seitenbesuchers ausgeführt wird, existieren die selben Typen von bedingten Anweisungen, die es auch unter PHP gibt. Beispiele hierzu finden Sie unter Switch-Anweisung, sowie auf der Beispielseite zu den If-Statements.


Alexander Müller