Schleifen

Geschätzte Lektüre: 7 Minuten 321 Ansichten

Schleifen sind fundamentale Kontrollstrukturen in PHP (und allen Programmiersprachen), die es ermöglichen, Codeblöcke mehrfach auszuführen, ohne den Code wiederholt schreiben zu müssen. Sie sind wie ein Koch, der immer wieder den gleichen Schritt wiederholt, bis das Gericht fertig ist.

Was sind Schleifen?

Schleifen wiederholen einen Codeblock solange eine bestimmte Bedingung erfüllt ist. Sie sind nützlich für:
• Verarbeitung von Arrays oder Datenbankergebnissen
• Durchführung sich wiederholender Berechnungen
• Automatisierung sich wiederholender Aufgaben

Grundlegende Schleifen-Typen in PHP:

  1. while-Schleife
  2. do-while-Schleife
  3. for-Schleife
  4. foreach-Schleife (speziell für Arrays)

Die while-Schleife

Die while-Schleife führt einen Codeblock aus, solange eine Bedingung wahr ist.

Syntax:

while (Bedingung) {
    // Code, der ausgeführt wird
}

Beispiel:

$i = 1;
while ($i <= 5) {
    echo "Durchlauf Nr. " . $i . "<br>";
    $i++;
}

Ausgabe:
Durchlauf Nr. 1
Durchlauf Nr. 2
Durchlauf Nr. 3
Durchlauf Nr. 4
Durchlauf Nr. 5

Verbildlichung: Stellen Sie sich vor, Sie lesen ein Buch. Die while-Schleife ist wie „Solange noch Seiten im Buch sind, blättere zur nächsten Seite und lies sie.“

Die do-while-Schleife

Ähnlich der while-Schleife, aber der Codeblock wird mindestens einmal ausgeführt, bevor die Bedingung geprüft wird.

Syntax:

do {
    // Code, der ausgeführt wird
} while (Bedingung);

Beispiel:

$i = 1;
do {
    echo "Durchlauf Nr. " . $i . "<br>";
    $i++;
} while ($i <= 5);

Verbildlichung: Wie wenn Sie eine Tür öffnen, um nachzusehen, ob es draußen regnet. Sie machen die Aktion (Tür öffnen) mindestens einmal, bevor Sie die Bedingung (Regen?) prüfen.

Die for-Schleife

Die for-Schleife ist kompakter und wird oft verwendet, wenn die Anzahl der Durchläufe bekannt ist.

Syntax:

for (Initialisierung; Bedingung; In-/Dekrement) {
    // Code, der ausgeführt wird
}

Beispiel:

for ($i = 1; $i <= 5; $i++) {
    echo "Durchlauf Nr. " . $i . "<br>";
}

Bestandteile:
Initialisierung: $i = 1 – Setzt den Startwert
Bedingung: $i <= 5 – Prüft vor jedem Durchlauf
Inkrement: $i++ – Wird nach jedem Durchlauf ausgeführt

    Verbildlichung: Wie ein Countdown für eine Rakete: „Starte bei 10, zähle runter bis 0, und nach jeder Zahl (1 Sekunde warten).“

    Die foreach-Schleife

    Speziell für Arrays und Objekte – durchläuft jedes Element in einer Sammlung.

    Syntax für einfache Arrays:

    foreach ($array as $wert) {
        // Code mit $wert
    }

    Syntax für assoziative Arrays:

    foreach ($array as $schlüssel => $wert) {
        // Code mit $schlüssel und $wert
    }

    Beispiel:

    $farben = array("Rot", "Grün", "Blau", "Gelb");
    
    foreach ($farben as $farbe) {
        echo "Farbe: " . $farbe . "<br>";
    }

    Ausgabe:
    Farbe: Rot
    Farbe: Grün
    Farbe: Blau
    Farbe: Gelb

    Verbildlichung: Stellen Sie sich vor, Sie gehen durch eine Obstschale und nehmen nacheinander jedes Stück Obst heraus, um es zu betrachten.

    Schleifen steuern mit break und continue

    • break: Beendet die Schleife sofort
    • continue: Überspringt den aktuellen Durchlauf und geht zum nächsten

    Beispiel:

    for ($i = 1; $i <= 10; $i++) {
        if ($i == 5) {
            continue; // Überspringt 5
        }
        if ($i == 8) {
            break; // Beendet bei 8
        }
        echo $i . "<br>";
    }

    Ausgabe:
    1
    2
    3
    4
    6
    7

    Verschachtelte Schleifen

    Schleifen können ineinander verschachtelt werden, was besonders für mehrdimensionale Arrays nützlich ist.

    Beispiel:

    for ($i = 1; $i <= 3; $i++) {
        for ($j = 1; $j <= 3; $j++) {
            echo "i: $i, j: $j<br>";
        }
    }

    Ausgabe:
    i: 1, j: 1
    i: 1, j: 2
    i: 1, j: 3
    i: 2, j: 1
    i: 2, j: 2
    i: 2, j: 3
    i: 3, j: 1
    i: 3, j: 2
    i: 3, j: 3

    Verbildlichung: Wie ein Schachbrett – die äußere Schleife geht Zeile für Zeile durch, die innere Schleife durchläuft jedes Feld in der Zeile.

    Best Practices:

    1. Verwenden Sie foreach für Arrays, wenn möglich
    2. Initialisieren Sie Zählervariablen immer vor der Schleife
    3. Stellen Sie sicher, dass die Bedingung irgendwann falsch wird
    4. Verwenden Sie klare, aussagekräftige Variablennamen für Schleifenzähler

    Praxisbeispiel: Benutzerliste ausgeben

    $benutzer = [
        ["name" => "Anna", "alter" => 25],
        ["name" => "Ben", "alter" => 32],
        ["name" => "Clara", "alter" => 28]
    ];
    
    echo "<ul>";
    foreach ($benutzer as $user) {
        echo "<li>" . $user['name'] . " (" . $user['alter'] . " Jahre)</li>";
    }
    echo "</ul>";

    Ausgabe:
    Anna (25 Jahre)
    Ben (32 Jahre)
    Clara (28 Jahre)

    Mächtige Werkzeuge

    Schleifen sind mächtige Werkzeuge in PHP, die Ihnen helfen, effizienten und sauberen Code zu schreiben. Jeder Schleifentyp hat seine spezifischen Anwendungsfälle:
    while: Wenn die Anzahl der Durchläufe unbekannt ist
    do-while: Wenn der Code mindestens einmal ausgeführt werden soll
    for: Wenn die Anzahl der Durchläufe bekannt ist
    foreach: Zum Durchlaufen von Arrays und Objekten

    Übersicht

    SchleifentypSyntaxbeispielWann wird die Bedingung geprüft?MindestdurchläufeTypischer AnwendungsfallBesonderheiten
    whilewhile (Bedingung) { Code }Vor jedem Durchlauf0 (falls Bedingung sofort falsch)Wenn Anzahl der Durchläufe unbekanntKann Endlosschleife verursachen
    do-whiledo { Code } while (Bedingung);Nach jedem Durchlauf1Wenn Code mindestens 1x laufen mussSemikolon am Ende nicht vergessen
    forfor (Init; Bedingung; Inkrement) { Code }Vor jedem Durchlauf0Bei bekannter DurchlaufanzahlKompakte Zählerschleife
    foreachforeach ($array as $wert) { Code }Vor jedem Durchlauf0 (bei leerem Array)Arrays durchlaufenAutomatische Zeigersteuerung

    Zusätzliche Steuerbefehle:

    BefehlWirkungBeispiel
    breakBeendet die Schleife sofortif ($i == 5) break;
    continueÜberspringt aktuellen Durchlaufif ($i == 3) continue;
    Dieses Dokument teilen

    Schleifen

    Oder Link kopieren

    INHALT

    Abonnieren

    ×
    Cancel