Heim > Backend-Entwicklung > PHP-Problem > PHP-Loop-Lernen fünf: Wie kann man aus der Schleife ausbrechen? Kurze Analyse von 5 Methoden

PHP-Loop-Lernen fünf: Wie kann man aus der Schleife ausbrechen? Kurze Analyse von 5 Methoden

青灯夜游
Freigeben: 2023-03-11 21:08:01
Original
16065 Leute haben es durchsucht

Im vorherigen Artikel haben wir Ihnen verschiedene Schleifenkontrollstrukturen in PHP gezeigt (while-Schleife, do-while-Schleife, for-Schleife und foreach-Schleife) und die for-Schleifenanweisung und foreach vorgestellt Schleifenanweisung zum Durchlaufen des Arrays. Wenn Sie interessiert sind, können Sie auf den Link klicken, um ihn anzuzeigen. Ich hoffe, dass er für alle hilfreich ist.

Eine Schleifenanweisung kann wiederholt eine Operation ausführen, wenn die Bedingung erfüllt ist. Manchmal ist die Bedingung jedoch erfüllt, die Schleife ist jedoch noch nicht beendet. Zu diesem Zeitpunkt müssen Sie aus der Schleife springen. Wie kann man also in PHP aus der Schleife ausbrechen? Heute werde ich Ihnen fünf Möglichkeiten vorstellen, aus Schleifen auszubrechen: continue-Anweisung, break-Anweisung, goto-Anweisung, die()/exit()-Anweisung und return-Anweisung.

Methode 1: Verwenden Sie die continue-Anweisung

Die Funktion der continue-Anweisung besteht darin, aus dieser Schleife zu springen und dann die nächste Schleife auszuführen (den Code nach der continue-Anweisung abzubrechen und mit der nächsten Schleife fortzufahren).

Schauen wir uns das Codebeispiel unten an.

Beispiel 1: Alle geraden Zahlen zwischen 1 und 10 ausgeben (gerade Zahlen können durch 2 teilbar sein)

<?php
    for ($i = 1; $i <= 10; $i++) {
        if($i % 2 != 0) {
            continue;
        }
        echo $i.&#39; <br>&#39;;
    }
?>
Nach dem Login kopieren

Analyse:

  • für ($i = 1; $i <= 10; $ i++){}Die Anweisung kann verwendet werden, um alle Zahlen zwischen 1 und 10 zu durchlaufenfor ($i = 1; $i <= 10; $i++){}语句可以循环得出1~10 之间的所有数字

  • if($i % 2 != 0)语句用于判断$i的值能整除2,不能整除则()中值为true,则执行continue;语句。

  • 在循环体中,使用if($i % 2 != 0)语句进行判断,如果$i的值能整除2就使用“echo $i”输出;如果$i的值不能整除2,则触发continue;语句,跳出本次循环(不进行输出),执行下一次循环。

输出结果:

2
4
6
8
10
Nach dem Login kopieren

方法2:使用break语句

break语句用于跳出当前的语法结构,可以终止循环体的代码并立即跳出当前的循环,执行循环之后的代码。

break和continue的不同点是:continue语句只是结束本次循环,而 break 语句会终止整个循环的执行。

沿用上面的示例1中代码,将continue;换成break;,会输出什么?

<?php
    for ($i = 1; $i <= 10; $i++) {
        if($i % 2 != 0) {
            break;
        }
        echo $i.&#39; <br>&#39;;
    }
?>
Nach dem Login kopieren

答案是:什么也不输出。为什么会这样尼?我们来分析一下:

forx循环一开始,$i=1,1小于10吗?当然,然后开始执行循环体中的if($i % 2 != 0)语句;

那么1能整除2吗?显然是不能,因此()中值为true,则执行if中的“break;”语句,直接跳出整个循环了,根本没有机会执行“echo $i.&#39; <br>&#39;

if($i % 2 != 0)Die Anweisung ist wird verwendet, um zu bestimmen< Der Wert von code>$i kann gleichmäßig durch 2 geteilt werden. Wenn er nicht gleichmäßig geteilt werden kann, ist der Wert in () wahr und der continue;-Anweisung wird ausgeführt. Verwenden Sie im Schleifenkörper die Anweisung if($i % 2 != 0), um zu beurteilen, ob der Wert von $i gleichmäßig durch 2 geteilt werden kann. Verwenden Sie die Ausgabe „echo $ i“. Wenn der Wert von $i nicht gleichmäßig durch 2 geteilt werden kann, wird die Anweisung continue; ausgelöst, die aus dieser Schleife springt (ohne Ausgabe). ) und Ausführen der nächsten Schleife.

Ausgabeergebnis:

<?php
for ($i = 1; $i <= 10; $i++) {
    if($i % 2 == 0) {
        goto a;
    }
    echo $i.&#39; <br>&#39;;
}
a:
?>
Nach dem Login kopieren

Methode 2: Break-Anweisung verwenden

Die Break-Anweisung wird verwendet, um aus der aktuellen Syntaxstruktur zu springen. Sie kann den Code des beenden Schleifenkörper und sofort aus der aktuellen Schleife springen, den Code nach der Schleife ausführen.

Der Unterschied zwischen break und continue besteht darin, dass die continue-Anweisung nur die aktuelle Schleife beendet, während die break-Anweisung die Ausführung der gesamten Schleife beendet.

Verwenden Sie den Code in Beispiel 1 oben und ersetzen Sie continue; durch break;. Was wird ausgegeben?

1
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Die Antwort lautet:
Nichts ausgeben

. Warum passiert das? Lassen Sie es uns analysieren: Am Anfang der Forx-Schleife, $i=1, ist 1 kleiner als 10? Beginnen Sie dann natürlich mit der Ausführung der if($i % 2 != 0)-Anweisung im Schleifenkörper Kann 1 also durch 2 geteilt werden? Offensichtlich ist dies nicht möglich. Wenn also der Wert in () wahr ist, wird die „break;“-Anweisung in der if-Anweisung ausgeführt und springt direkt aus der gesamten Schleife heraus, und es besteht keine Möglichkeit zur Ausführung. echo $i.' &lt ;br>'"-Anweisung.

Methode 3: goto-Anweisung

Die Funktion von goto besteht darin, die Ausführung des Programms von der aktuellen Position zu einer beliebigen anderen Position zu überspringen. Der Zielort kann mit dem Zielnamen gefolgt von einem Doppelpunkt markiert werden (z. B. Name: ), und die Sprunganweisung lautet „Gehe zu“, gefolgt von der Markierung des Zielorts.

goto selbst hat nicht die Funktion, die Schleife zu beenden, aber seine Sprungposition ermöglicht es, es als Sprung aus der Schleife zu verwenden.

Schauen wir uns das Codebeispiel unten an.

Beispiel 2: Alle ungeraden Zahlen zwischen 1 und 10 ausgeben (ungerade Zahlen können nicht durch 2 teilbar sein)

<?php
header("Content-type:text/html;charset=utf-8");
for ($i = 1; $i <= 10; $i++) {
    if($i % 2 == 0) {
        die();
    }
    echo $i.&#39; <br>&#39;;
}
?>
Nach dem Login kopieren
Ausgabe:
1
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

goto ist eigentlich nur ein Operator, und seine Verwendung unterliegt bestimmten Einschränkungen: der Zielposition des Sprungs Kann nur in derselben Datei und demselben Bereich liegen. Der

goto-Operator ist nur in PHP5.3 und höher gültig.

Methode 4: die()/exit()-Anweisung 🎜🎜🎜🎜Die beiden Namen „exit“ und „die“ verweisen auf dieselbe Funktion. 🎜🎜Die Rolle von die()/exit(): Beendet die Programmausführung und kann überall verwendet werden. 🎜🎜🎜Folgen Sie dem Code in Beispiel 3 oben, ersetzen Sie die goto-Anweisung durch die() und sehen Sie sich die Ausgabe an ein spezifischer Wert sein. Der Wert kann auch eine Zeichenfolge sein, oder Sie können keine Parameter eingeben. Wenn der Parameter eine Zeichenfolge ist, gibt PHP die Zeichenfolge direkt aus. Wenn der Parameter eine Ganzzahl ist (Bereich 0-254), wird dieser Parameter als Endzustand verwendet. 🎜🎜🎜🎜Methode 5: Return-Anweisung 🎜🎜🎜🎜Die Return-Anweisung wird verwendet, um einen Codeabschnitt zu beenden und einen Parameter zurückzugeben. 🎜🎜🎜Folgen Sie dem Code in Beispiel 3 oben, ersetzen Sie die die()-Anweisung durch die return-Anweisung und sehen Sie sich die Ausgabe an🎜🎜
<?php
header("Content-type:text/html;charset=utf-8");
for ($i = 1; $i <= 10; $i++) {
    if($i % 2 == 0) {
        return;
    }
    echo $i.&#39; <br>&#39;;
}
?>
Nach dem Login kopieren
🎜Ausgabe: 🎜
1
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

return语句可以在一个函数里调用,也可以从一个include()或者require()语句包含的文件里来调用,也可以是在主程序里调用。

好了就说到这里了,有其他想知道的,可以点击这个哦。→ →php视频教程

推荐:PHP面试题大汇总(收藏)

Das obige ist der detaillierte Inhalt vonPHP-Loop-Lernen fünf: Wie kann man aus der Schleife ausbrechen? Kurze Analyse von 5 Methoden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage