ホームページ >バックエンド開発 >PHPチュートリアル >PHPがループから抜け出すいくつかの方法の紹介と違いを例で詳しく説明
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/>"; } } ?>
フラグメントで 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";
の場合、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 サイトの他の関連記事を参照してください。