Heim  >  Artikel  >  Backend-Entwicklung  >  Einführung in verschiedene Methoden zum Herausspringen von PHP aus der Schleife und detaillierte Erklärung der Unterschiede anhand von Beispielen

Einführung in verschiedene Methoden zum Herausspringen von PHP aus der Schleife und detaillierte Erklärung der Unterschiede anhand von Beispielen

伊谢尔伦
伊谢尔伦Original
2017-06-24 09:11:073027Durchsuche

Zu den Schleifenstrukturen in PHP gehören im Allgemeinen for-Schleife, while-Schleife, do{} while-Schleife und foreach-Schleife, egal welche Art von Schleife, springen Sie aus der Schleife hinein PHP Es gibt ungefähr folgende Methoden:

Code:

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

Ergebnis:

1
3
4

continue
continue wird in einer Schleifenstruktur verwendet, um das Programm so zu steuern, dass es den Code nach der continue-Anweisung dieser Schleife abbricht und zur nächsten Schleife übergeht. 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;
}
else{
echo "$i \n<br/>";
}
}
?>

Die Funktion des PHP-Codefragments besteht darin, innerhalb von 100 auszugeben, was nicht durch 7 teilbar ist noch: Für die natürlichen Zahlen, die durch 3 teilbar sind, wird in der Schleife zuerst die bedingte Anweisung if verwendet, um die Zahlen zu bestimmen, die teilbar sind. Anschließend wird die Anweisung continue ausgeführt, 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 herausgesprungen 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 Beeinträchtigung der Lesbarkeit führen das Programm. Die Funktion von goto besteht darin, die Ausführung des Programms von der aktuellen Position zu einer anderen Position zu überspringen. goto selbst hat nicht die Funktion, die Schleife zu beenden, aber seine Sprungposition ermöglicht die Verwendung als Breakout-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. Dieses Beispiel wird verwendet, um die Zahlen innerhalb von 1000 zu erkennen, deren Quadratwurzel ist 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
Die 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 das Hauptprogramm die Ausführung 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
Das ist natürlich am besten zu verstehen, wenn die Schleife die kritische Bedingung der Schleife erfüllt, wird sie von selbst beendet.
Das Obige ist eine kurze Zusammenfassung verschiedener Möglichkeiten, Schleifen in PHP zu durchbrechen.

Das obige ist der detaillierte Inhalt vonEinführung in verschiedene Methoden zum Herausspringen von PHP aus der Schleife und detaillierte Erklärung der Unterschiede anhand von Beispielen. 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