Heim  >  Artikel  >  Backend-Entwicklung  >  Mehrere Möglichkeiten und Unterschiede beim Herausspringen von PHP aus Schleifen

Mehrere Möglichkeiten und Unterschiede beim Herausspringen von PHP aus Schleifen

伊谢尔伦
伊谢尔伦Original
2017-06-23 13:06:051369Durchsuche

Zu den Schleifenstrukturen in PHP gehören im Allgemeinen for-Schleife , while-Schleife , do{} while-Schleife und foreach Es gibt verschiedene Arten von Schleifen. Es gibt ungefähr mehrere Möglichkeiten, aus der Schleife in PHP auszubrechen:

Code :

<?php
$i = 1;
while (true) { // 这里看上去这个循环会一直执行
    if ($i==2) {// 2跳过不显示
        $i++;
        continue;
    } else if ($i==5) {// 但到这里$i=5就跳出循循环了
        break;
    } else {
        echo $i . &#39;<br>&#39;;
    }
    $i++;
}
exit;
echo &#39;这里不输出&#39;;
?>

Ergebnis:
1
3
4
continue
continue wird in Schleifenstrukturen zur Steuerung des Programms verwendet um diese Schleife aufzugeben. Der Code nach der continue-Anweisung wechselt zur nächsten Schleife. continue selbst springt nicht aus der Schleifenstruktur heraus, sondern gibt die Schleife dieses Mal einfach auf. Wenn continue in einer Nicht-Schleifenstruktur verwendet wird (z. B. eine if-Anweisung, switch-Anweisung ), geht das Programm schief.
Zum Beispiel im folgenden PHP-Code-Fragment:

<?php
for($i = 1;$i <= 100; $i++ ){
if($i % 3 == 0 || $i % 7 == 0){
continue;
}
& #160;  else{
echo”$i \n<br/>”;
}
}
?>

Die Funktion des PHP-Codefragments besteht darin, innerhalb von 100 auszugeben, was beides nicht kann verwendet werden durch 7 Für die natürlichen Zahlen, die teilbar, aber nicht durch 3 teilbar sind, verwenden Sie zunächst die if-Bedingungsanweisung in der Schleife, um die Zahlen zu bestimmen, die teilbar sind, und führen Sie dann die continue-Anweisung aus, um direkt in die nächste Schleife zu gelangen. Die folgende Ausgabeanweisung wird nicht ausgeführt.
break
break wird in den verschiedenen oben genannten Schleifen und Switch-Anweisungen verwendet. Seine Funktion besteht darin, aus der aktuellen grammatikalischen Struktur herauszuspringen und die folgenden Anweisungen auszuführen. Die break-Anweisung kann einen Parameter n annehmen, der die Anzahl der Ebenen angibt, aus denen aus der Schleife gesprungen werden soll. Wenn Sie aus mehreren Schleifen springen möchten, können Sie n verwenden, um die Anzahl der Ebenen anzugeben, aus denen gesprungen werden soll Der Standardwert besteht darin, aus der aktuellen Schleife zu springen.
Sehen Sie sich das folgende Beispiel für die Verschachtelung mehrerer Schleifen an:

for($i = 1;$i <= 10; $i++ ){
for($j = 1;$j <= 10;$j++){
$m = $i * $i + $j * $j;
echo”$m \n<br/>”;
if($m < 90 || $m > 190) {
break 2;
}
}
}

Hier wird Pause 2 verwendet, um aus zwei Schleifen herauszuspringen. Sie können es ausprobieren und 2 entfernen. Das Ergebnis wird völlig anders sein . . Wenn keine Parameter verwendet werden, wird nur diese Schleife übersprungen und die Schleife der ersten Ebene wird weiterhin ausgeführt.
goto
goto ist eigentlich nur ein Operator. Wie in anderen Sprachen wird der Missbrauch von goto zu einer ernsthaften Verschlechterung der Programmlesbarkeit führen . Die Funktion von goto besteht darin, die Ausführung des Programms von der aktuellen Position zu einer anderen Position zu springen. goto selbst hat nicht die Funktion, die Schleife zu beenden, aber seine Sprungposition ermöglicht die Verwendung als Sprung aus der Schleife. Allerdings unterstützen PHP5.3 und höher goto nicht mehr, daher sollten Sie versuchen, die Verwendung von goto zu vermeiden.
Das Folgende ist ein Beispiel für die Verwendung von goto, um aus der Schleife zu springen.

for($i = 1000;$i >= 1 ; $i– ){
if( sqrt($i) <= 29){
goto a;
}
echo “$i”;
}
a:
echo” this is the end”;

Das Beispiel verwendet goto, um aus der Schleife zu springen Quadratwurzeln dieser Zahlen innerhalb von 1000. größer als 29.
exit
exit wird verwendet, um die Programmausführung zu beenden. Es kann überall verwendet werden und hat keine Bedeutung, aus der Schleife zu springen. Exit kann einen Parameter annehmen. Wenn der Parameter String ist, gibt PHP den String direkt aus. Wenn der Parameter eine Ganzzahl ist (Bereich ist 0-254), wird dieser Parameter als Endstatus verwendet.

<?php
for($i = 1000;$i >= 1 ; $i– ){
if( sqrt($i) >= 29){
echo”$i \n<br/>”;
}
else{
exit;
}
}
echo”本行将不会被输出”;
?>

Im obigen Beispiel endet die Ausführung des Codes direkt in der Schleife. Dies führt dazu, dass der folgende Code nicht ausgeführt wird, selbst wenn er sich auf einer PHP-Webseite befindet Es wird kein HTML-Code ausgegeben.
return
return-Anweisung wird verwendet, um einen Codeabschnitt zu beenden und einen Parameter zurückzugeben. Es kann von einer Funktion oder von einer Datei aufgerufen werden, die in einer include()- oder require()-Anweisung enthalten ist, oder es kann vom Hauptprogramm aus aufgerufen werden. Wenn es von einer Funktion aufgerufen wird, wird das Programm sofort beendet und gibt die zurück Parameter: Wenn es aus einer Datei aufgerufen wird, die in der include()- oder require()-Anweisung enthalten ist, kehrt die Programmausführung sofort zu dem Programm zurück, das die Datei aufgerufen hat, und der Rückgabewert wird als Rückgabewert von include() verwendet. oder require(). Und wenn es im Hauptprogramm aufgerufen wird, stoppt die Ausführung des Hauptprogramms sofort

<?php
for($i = 1000;$i >= 1 ; $i– ){
if( sqrt($i) >= 29){
echo”$i \n<br/>”;
}
else{
return;
}
}
echo”本行将不会被输出”;
?>

Das Beispiel hier hat den gleichen Effekt wie die Verwendung von „exit“ oben.
Am Ende der Schleifenbedingung springt sie natürlich heraus.
Dies ist natürlich am besten zu verstehen, wenn die Schleife die kritische Bedingung der Schleife erfüllt.
Das Obige ist eine kurze Zusammenfassung verschiedener Möglichkeiten, Schleifen in PHP zu durchbrechen.

Das obige ist der detaillierte Inhalt vonMehrere Möglichkeiten und Unterschiede beim Herausspringen von PHP aus Schleifen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn