=> Lektion 7.1: ''while''-Schleifen

Lektion 7.2: Schleifenunterbrechung

Continue und Break

Der Verlauf einer Schleife kann neben der Schleifenbedingung noch anders gesteuert werden. Für Schleifen gibt es jedoch noch die speziellen Ausdrücke continue und break.

break - beendet an der aktuellen Stelle die Schleife und führt dann den folgenden PHP-Code aus, so als würde die Schleifenbedingung false ergeben (selbst wenn dies nicht der Fall wäre).

    <?php
    while (...) {
    
     
        break; // --->
               //     |
               //     V
    }   
              // <---
    ?>

continue - überspringt den aktuellen Schleifendurchlauf und beginnt mit dem nächsten. Er springt dabei zum Ende des Schleifenrumpfs. Für For-Schleifen bedeutet dies auch, dass die Durchlaufanweisung ausgeführt wird (für den nächsten Durchlauf), für Do-While-Schleifen bedeutet dies, dass die Schleifenbedingung geprüft wird (und auch für While-Schleifen, aber da erst im Beginn des darauf folgenden Schleifendurchlaufs).

    <?php
    // keine Endlosschleife wie vielleicht vermutet
    do {          //   < - - -
                  //          | Nicht wie erwartet
                  //          |
        continue; // --->  - -
                  //     |
                  //     V  Dies ist der Weg von continue
                  // <---
    } while(false);
    ?>

Eine if-Abfrage kann auf diese Weise nicht verlassen (oder sogar neu durchlaufen) werden da eine if-Abfrage kein Schleifenkonstrukt ist. Sowas wie if (…) { …. break; …} wird nur klappen wenn das ganze in einer Schleife steht und somit das break auf die Schleife angewendet werden kann.

Übung 11

Bearbeite das folgende Beispiel und wende es in deinem variablen Zähler an.

  <?php
  $i = 11;
  do
  {
    if ( $i > 10 )
    {
        echo "i ist bereits größer als 10";
        break;
    }
 
    echo $i . "<br />";  // es wird $i ausgegeben,
    $i++;  // Wert wird um 1 erhöht
  } while ($i <= 10);
  ?>

=> Lektion 7.3: ''for''-Schleifen
=> Übersicht: Einführung in PHP