PHP Kontrollstrukturen
Erste Schritte: PHP Kontrollstrukturen
Kontrollstrukturen bestimmen den Ablauf deines PHP-Codes.
Mit ihnen reagierst du auf Bedingungen, wiederholst Codeblöcke (Schleifen) und steuerst,
wie dein Skript Entscheidungen trifft. In diesem Tutorial erfährst du alles über
die gängigen Kontrollstrukturen in PHP und wie du sie effizient einsetzt.
1. if, else, elseif
Die gängigste Möglichkeit, eine Entscheidung zu treffen, ist die if-Struktur:
<?php $alter = 20; if ($alter >= 18) { echo "Volljährig"; } else { echo "Noch nicht volljährig"; } ?>
- if: Führt den Codeblock aus, wenn die Bedingung true ergibt.
- else: Führt den Codeblock aus, wenn die Bedingung false ergibt.
- elseif (oder else if): Erlaubt mehrere Bedingungen nacheinander.
Beispiel mit elseif
<?php $note = 3; if ($note == 1) { echo "Sehr gut"; } elseif ($note == 2) { echo "Gut"; } elseif ($note == 3) { echo "Befriedigend"; } else { echo "Bestanden oder schlechter"; } ?>
So kannst du beliebig viele Fälle (Bedingungen) hintereinander definieren.
2. switch
Wenn du eine Variable gegen mehrere gleichwertige Vergleichswerte prüfst,
kann switch übersichtlicher sein als viele elseif-Blöcke.
<?php $farbe = "rot"; switch ($farbe) { case "rot": echo "Die Farbe ist rot"; break; case "blau": echo "Die Farbe ist blau"; break; default: echo "Unbekannte Farbe"; break; } ?>
- case: Prüft auf Gleichheit mit dem $farbe-Wert.
- default: Wird ausgeführt, wenn keiner der vorherigen Fälle zutrifft.
- break: Beendet den jeweiligen Switch-Block. Fehlt break,
wird der Code weiter in den nächsten case „durchfallen“ (fall-through).
3. while und do…while
Mit while wiederholst du einen Codeblock, solange eine Bedingung true ist.
Bei do…while wird der Codeblock mindestens einmal ausgeführt,
und erst nachher die Bedingung geprüft.
while
<?php $counter = 0; while ($counter < 5) { echo "Durchlauf: $counter <br>"; $counter++; } ?>
Solange $counter < 5 true ist, wird der Block ausgeführt.
Ohne inkrementierung ( $counter++
) würde die Schleife endlos laufen.
do…while
<?php $counter = 5; do { echo "Wert: $counter <br>"; $counter++; } while ($counter < 5); ?>
Der Code im do-Block wird einmal ausgeführt, bevor while die Bedingung prüft.
In diesem Beispiel läuft die Schleife nur einmal, selbst wenn $counter schon 5 ist.
4. for und foreach
for eignet sich für Schleifen mit einem festen Start- und Endwert.
foreach ist perfekt, um Arrays zu durchlaufen.
for
<?php for ($i = 0; $i < 5; $i++) { echo "Durchlauf Nummer: $i <br>"; } ?>
- Erster Ausdruck ($i = 0) initialisiert die Variable.
- Zweiter Ausdruck ($i < 5) prüft die Bedingung pro Durchlauf.
- Dritter Ausdruck ($i++) erhöht (oder verringert) die Variable am Ende jedes Durchlaufs.
foreach
<?php $fruechte = ["Apfel", "Banane", "Orange"]; foreach ($fruechte as $frucht) { echo $frucht . "<br>"; } ?>
foreach nimmt jeden Wert aus dem Array $fruechte und legt ihn
in die temporäre Variable $frucht.
So durchläufst du mühelos jeden Eintrag.
5. break und continue
Mit break kannst du eine Schleife (oder switch) vorzeitig beenden,
continue setzt die Ausführung an den Schleifenanfang fort,
überspringt aber den restlichen Codeblock des aktuellen Durchlaufs.
<?php for ($i = 1; $i <= 10; $i++) { if ($i == 5) { continue; // Überspringt Ausgabe, geht zum nächsten Schleifendurchlauf } if ($i == 8) { break; // Bricht Schleife ab } echo $i . "<br>"; } ?>
In diesem Beispiel wird 5 nicht ausgegeben (wegen continue),
und ab 8 werden keine weiteren Durchläufe durchgeführt (wegen break).
6. Alternative Syntax
Für Vorlagen (Templates) oder wenn HTML und PHP sehr vermischt sind,
kannst du eine alternative Syntax für if/else und Schleifen verwenden:
<?php if ($bedingung): ?> <!-- HTML oder PHP-Code --> <?php else: ?> <!-- HTML oder PHP-Code --> <?php endif; ?>
Ähnlich funktioniert das bei foreach … endforeach, for … endfor usw.
Einige Frameworks oder Templates nutzen diese Syntax, um den Code lesbarer zu machen,
wenn viel HTML eingebettet wird.
Fazit
Kontrollstrukturen sind das Herzstück deiner Programmierlogik in PHP.
Vom einfachen if/else über switch bis hin zu Schleifen
(while, for, foreach) kannst du so steuern,
wie dein Skript Daten verarbeitet und wie oft bestimmte Codeblöcke ausgeführt werden.
Mit break und continue hast du zudem die Möglichkeit,
den Ablauf innerhalb einer Schleife flexibel zu kontrollieren.
Mach dich mit diesen Strukturen vertraut, und du bist bestens gerüstet,
um komplexe Anwendungslogik in PHP umzusetzen.