PHP では、break は現在の構文構造から飛び出し、次のステートメントを実行するために使用されます。これは、switch、for、while、do while などのステートメントでループのコードを終了するために使用できます。 body を実行し、現在のステートメントから直ちに飛び出します。ループ、ループの後のコードを実行します。 Break ステートメントは、ループから飛び出すレベルの数を表すパラメーター n を受け取ることができます。複数のループから飛び出す場合は、n を使用して飛び出すレベルの数を表すことができます。パラメータがない場合、デフォルトでは現在のループから抜け出します。
このチュートリアルの動作環境: Windows7 システム、PHP8 バージョン、DELL G3 コンピューター
PHP のループ構造には、通常、for ループとwhile ループ、do{} ループ、および 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
break キーワード
break キーワードは、プログラムを現在のループから抜け出すことができます。switch、for、while、do while などのステートメントで使用できます。これにより、ループ本体のコードが終了し、現在のループから直ちに飛び出し、ループの後のコードが実行されます。
break の機能は、現在の構文構造から飛び出し、次のステートメントを実行することです。 Break ステートメントは、ループから飛び出すレベルの数を表すパラメーター n を受け取ることができます。複数のループから飛び出す場合は、n を使用して飛び出すレベルの数を表すことができます。パラメータがない場合、デフォルトでは現在のループから抜け出します。
break キーワードの実行フローを次の図に示します。
[例]
<?php for ($i=0; $i < 10; $i++) { if($i == 3) { break; } echo $i; } ?>
for ループ内で、現在の値を決定します。 $ i の値が 3 になるとループは終了します。コードの実行結果は次のとおりです:
012
その効果は、while、do while、および foreach ループ ステートメントでも同じです。break ステートメントの機能は、ループを終了することです。
説明:
break ステートメントは、現在のループから抜け出すだけでなく、抜け出すループのレベルを指定することもできます。構文形式は次のとおりです。
break n;
パラメータ n は、ループから抜け出すループ レベルの数を指定します。
例:
<?php while (true) { for (;;) { for ($i=0; $i < 10; $i++) { echo '$i = '.$i.', <br>'; if($i == 3) { echo '变量 $i 等于 3,跳出第一层循环。<br>'; break 1; } } for ($j=0; $j < 10; $j++) { echo '$j = '.$j.', <br>'; if($j == 4) { echo '变量 $j 等于 4,跳出最外层循环。'; break 3; } } } echo '由于前面直接跳出了最外层循环,所以这里的打印信息是看不到的!'; } ?>
実行結果は次のとおりです。次のように:
$i = 0, $i = 1, $i = 2, $i = 3, 变量 $i 等于 3,跳出第一层循环。 $j = 0, $j = 1, $j = 2, $j = 3, $j = 4,
変数 $j が 4 に等しいので、最も外側のループから抜け出します。
#Continue キーワード
Continue は、このループの continue ステートメントの後にコードを破棄して転送するようにプログラムを制御するために、ループ構造で使用されます。そして次のサイクルに進みます。 continue自体はループ構造から飛び出すわけではなく、今回はループを放棄するだけです。 continue を非ループ構造 (if 文、switch 文など) で使用すると、プログラムがエラーになります。 たとえば、次の PHP コード スニペットでは:<?php for($i = 1;$i <= 100; $i++ ){ if($i % 3 == 0 || $i % 7 == 0){ continue; } & #160; else{ echo”$i \n<br/>”; } } ?>PHP コード スニペットの機能は、7 でも 3 でも割り切れない 100 以内で出力することです。割り切れる自然数の場合、まずループ内で if 条件文を使用して割り切れる数を決定し、次に continue; 文を実行して直接次のループに入ります。次の出力ステートメントは実行されません。
goto キーワード
goto は実際には単なる演算子です。他の言語と同様に、goto の乱用や goto の乱用は推奨されていません。 PHP: プログラムの可読性が大幅に低下します。 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 つのパラメータを取ることができます。パラメータが文字列の場合、PHP はその文字列を直接出力します。パラメータが整数 (範囲は 0 ~ 254) の場合、そのパラメータは終了ステータスとして使用されます。
<?php for($i = 1000;$i >= 1 ; $i– ){ if( sqrt($i) >= 29){ echo”$i \n<br/>”; } else{ exit; } } echo”本行将不会被输出”; ?>
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中跳出循环的几种方式的简单总结。
if不是循环结构,所以不能使用break,continue退出。如果你非要在if语句中这样用的话,可以把这个if语句放在一个循环结构中
$i=0; $s=1; while($i==0) { if($s==1) { $v=8; break; } $v=9; } echo $v;
推荐学习:《PHP视频教程》
以上がPHPでのbreakの使い方は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。