Informatikwiki

Albert Einstein Gymnasium Reutlingen

Benutzer-Werkzeuge

Webseiten-Werkzeuge


php:php_lektion07_02

Dies ist eine alte Version des Dokuments!


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.

Variabler Zähler mit break

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);
?>

PHP Lektion 4.3

php/php_lektion07_02.1415366230.txt.gz · Zuletzt geändert: 07.11.2014 13:17 von Stefan Gaum

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki