PHP: if / else / elseif
Erste Schritte: PHP: if / else / elseif
In PHP sind if, else und elseif
die gebräuchlichsten Kontrollstrukturen, um bedingte Logik umzusetzen.
Damit kannst du Teile deines Codes nur dann ausführen, wenn bestimmte Voraussetzungen erfüllt sind.
Dieses Tutorial zeigt dir anhand von Beispielen, wie du mit if / else / elseif deine Skripte steuerst.
1. if – Eine einfache Bedingung
Mit einem if-Statement prüfst du, ob eine Bedingung (ein Boolescher Ausdruck)
wahr (true) ist. Falls ja, wird der Codeblock ausgeführt, andernfalls übersprungen.
<?php $alter = 20; if ($alter >= 18) { echo "Du bist volljährig!"; } ?>
In diesem Beispiel wird die Ausgabe nur erzeugt, wenn die Variable $alter
mindestens 18 ist (
$alter >= 18
).
2. else – Alternativzweig
Wenn du bei einer bestimmten Bedingung eine Alternative ausführen möchtest,
nutzt du else.
So kannst du in jedem Fall genau einen Codeblock zur Laufzeit durchsetzen.
<?php $alter = 16; if ($alter >= 18) { echo "Volljährig"; } else { echo "Noch nicht volljährig"; } ?>
Ist $alter >= 18 false, so landet dein Skript im else-Block.
3. elseif – Mehrere Fälle nacheinander prüfen
Mit elseif (oder else if) lassen sich mehrere Bedingungen
in Folge prüfen, bis eine zutrifft.
Erst wenn die erste passende Bedingung gefunden wurde, wird deren Codeblock ausgeführt
und die folgenden elseifs übersprungen.
<?php $note = 3; if ($note == 1) { echo "Sehr gut"; } elseif ($note == 2) { echo "Gut"; } elseif ($note == 3) { echo "Befriedigend"; } else { echo "Ausreichend oder schlechter"; } ?>
- if ($note == 1): Falls true, wird „Sehr gut“ ausgegeben,
Ende der if-Struktur. - elseif ($note == 2): Falls erster Vergleich false und
$note == 2 true, „Gut“ etc. - else: Greift, wenn keiner der vorherigen Fälle passte.
4. Geblockte vs. einzeilige Syntax
In vielen Fällen nutzt du geschweifte Klammern { … },
um die Codeblöcke zu gruppieren.
Wenn der Codeblock nur eine Anweisung hat, kannst du in sehr kurzen Fällen
die geschweiften Klammern auch weglassen.
<?php $zahl = 5; // Geblockte Variante if ($zahl > 0) { echo "positiv"; } else { echo "nicht positiv"; } // Einzeilige Variante (nicht überall empfohlen) if ($zahl > 0) echo "positiv"; else echo "nicht positiv"; ?>
Aus Gründen der Lesbarkeit ist es jedoch meist besser, die Blöcke
in geschweifte Klammern zu setzen.
5. Verschachtelte if-Abfragen
Du kannst if–else-Strukturen beliebig verschachteln,
wenn du komplexere Logik abbilden willst.
<?php $benutzer = "Lisa"; $eingeloggt = true; if ($eingeloggt) { if ($benutzer == "Lisa") { echo "Willkommen, Lisa!"; } else { echo "Willkommen, unbekannter Benutzer."; } } else { echo "Bitte logge dich ein."; } ?>
So lange du den Überblick behältst, ist das kein Problem.
Bei sehr tiefen Verschachtelungen könnte ein switch oder
das Refactoring in Funktionen sinnvoller sein.
6. Alternativer Syntax-Stil (für Templates)
Wenn du viel HTML einbindest, kann die alternative Syntax die Lesbarkeit erhöhen:
<?php if ($alter >= 18): ?> <p>Volljährig</p> <?php else: ?> <p>Noch nicht volljährig</p> <?php endif; ?>
Hier endest du das if–else mit endif; statt mit geschweiften Klammern.
Das kann besonders in Template-Dateien hilfreich sein.
7. Beispiele in der Praxis
<?php $punktzahl = 78; if ($punktzahl >= 90) { echo "Bewertung: A"; } elseif ($punktzahl >= 80) { echo "Bewertung: B"; } elseif ($punktzahl >= 70) { echo "Bewertung: C"; } else { echo "Bewertung: D oder schlechter"; } echo "<br>"; $role = "admin"; if ($role == "admin") { echo "Willkommen, Admin!"; } else { echo "Normaler Benutzerzugriff."; } ?>
So kannst du unterschiedliche Sektoren (Notensystem, Rollen-Logik etc.)
ganz einfach über if–elseif–else abbilden.
Fazit
Mit if / else / elseif deckst du den Großteil
deiner bedingten Logik in PHP ab.
Die Grundidee ist simpel: Prüfe, ob eine Bedingung true ist,
und führe auf dieser Basis einen Codeblock aus.
Bei mehreren Fällen verwendest du elseif oder wechselst
bei sehr vielen Vergleichswerten zu switch.
Gemeinsam mit Schleifen und Funktionen lassen sich so
komplexe Programmabläufe definieren.
Experimentiere mit verschiedenen Bedingungen,
um ein Gefühl für die Syntax und Möglichkeiten von PHPs Kontrollstrukturen zu bekommen!