ホームページ  >  記事  >  バックエンド開発  >  PHPがループから抜け出すいくつかの方法の紹介と違いを例で詳しく説明

PHPがループから抜け出すいくつかの方法の紹介と違いを例で詳しく説明

伊谢尔伦
伊谢尔伦オリジナル
2017-06-24 09:11:073071ブラウズ

PHP のループ構造には、一般に for ループwhile ループ、do{} while ループ、foreach ループが含まれます。ループの種類に関係なく、PHP のループから抜け出す方法は基本的にいくつかあります。コード:

<?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 "这里不输出";
?>

結果:


1
3
4

Continue continue は、このループの continue ステートメントの後のコードを破棄して次のループに移動するようにプログラムを制御するためにループ構造で使用されます。 continue自体はループ構造から飛び出すわけではなく、今回はループを放棄するだけです。 continue をループ構造以外の構造 (if 文、switch 文
など) で使用すると、プログラムが誤動作します。 たとえば、次の PHP コード
フラグメントでは:

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

PHP コード フラグメントの機能は、7 で割り切れず、3 で割り切れない 100 以内の自然数を出力することです。まず、次の

PHP コード

フラグメントで if 条件文を使用します。ループ 割り切れる数を決定し、 continue ステートメントを実行して、次のループに直接入ります。次の出力ステートメントは実行されません。

break
break は、上記のさまざまなループや switch ステートメントで使用されます。その機能は、現在の文法構造から飛び出して、次のステートメントを実行することです。 Break ステートメントは、ループから抜け出すレベルの数を示すパラメーター n を取ることができます。複数のループから抜け出す場合は、抜け出すレベルの数を示すために n を使用できます。パラメータを指定すると、デフォルトでは現在のループから抜け出します。
次の複数のループのネストの例を見てください:

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;}}}

ここでは、break 2 を使用して 2 つのループから飛び出すことができます。試して 2 を削除すると、結果はまったく異なります。パラメーターが使用されない場合、このループのみが飛び出し、最初のレベルのループが実行を継続します。他の言語と同様、goto の乱用はプログラムの可読性の大幅な低下につながります。 goto の機能は、プログラムの実行を現在位置から別の位置にジャンプすることです。goto 自体にはループを終了する機能はありませんが、そのジャンプ位置によりブレークアウト ループとして使用できます。ただし、PHP5.3以降ではgotoのサポートが終了しているため、gotoの使用は避けるようにしてください。

以下は goto を使用してループを抜け出す例です

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

この例は goto を使用してループを抜け出す例です。この例は 29 より大きい 1000 以内の数値の平方根を検出するために使用されます。 exit
exitはプログラムの実行を終了するために使用されます。どこでも使えるし、ループから飛び出す意味もない。 exit はパラメータを 1 つ受け取ることができます。パラメータが

string

の場合、PHP はその文字列を直接出力します (範囲は 0 ~ 254)。そのパラメータは終了ステータスとして使用されます。

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

上記の例では、コードの実行がループ内で直接終了するため、後続のコードは実行されません。PHP Web ページ内にある場合、終了後の HTML コードも実行されません。出力。
return return ステートメントは、コードの一部を終了し、パラメーターを返すために使用されます。関数から呼び出すことも、include() ステートメントまたは require() ステートメントに含まれるファイルから呼び出すこともできます。また、関数から呼び出された場合、プログラムはすぐに終了し、 include() または require() ステートメントに含まれるファイルから呼び出された場合、プログラムの実行は直ちにそのファイルを呼び出したプログラムに戻り、戻り値が include() の戻り値として使用されます。またはrequire()。そして、それがメインプログラムで呼び出された場合、メインプログラムはすぐに実行を停止します

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

ここでの例は、上記の exit を使用した場合と同じ効果があります。

ループの終わりに、それは自然に飛び出します

これは、ループがループの臨界条件を満たしたときに、自動的に終了することを理解するのに最適です。
上記は、PHP でループから抜け出すためのいくつかの方法の簡単な要約です。

以上がPHPがループから抜け出すいくつかの方法の紹介と違いを例で詳しく説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。