【PHP】繰り返し処理終了させたり、処理を中断させて次の処理を実行させる方法 「break」「continue」
さて、繰り返し処理の構文…「for()」、「while()」、「foreach()」と繰り返し処理には慣れてきたでしょうか?
私は…うーん(;^ω^)
今回はこれら繰り返し処理中に、処理を途中で終了させる「break」、処理を途中で終了させ、次の処理を実行させる「continue」についてメモします。これらを使いこなせれば、繰り返し処理を使用してワンランク上のプログラムを作ることができます。さっそく書いていきましょう。
処理を終了させ、それ以降の処理も終了させる関数「break」
「break」は繰り返し処理を終了させる関数です。「if()」 文と組み合わせて、特定の条件でループから抜けるのことがもっとも基本的な使い方です。サンプルとして、100回の繰り返し処理を「break」を使って10回目で抜け出してみましょう。
|
1 2 3 4 5 6 7 8 9 10 11 |
<?php $num = 0; while($num < 100){ if($num == 10){ break; } echo $num." "; $num++; } ?> |
実行結果は以下の通りです。
|
1 |
0 1 2 3 4 5 6 7 8 9 |
今回は「$num」が「10」になった時に「break」が機能するようにしています「break」はそれ以降の処理を全て中断させ、それ以降のループも終了させます。11回目以降の出力もないのは「break」の機能というわけですね。
移行の処理を終了させ、次の処理を開始する関数「continue」
「continue」関数は「break」と役割が似ていますが、次の処理を行うという点で動きが異なります。
サンプルコードを見てみましょう。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php $num = 0; $test = 1; while($num < 20){ $num++; if($num == (4*$test)){ $test++; continue; } echo $num." "; } ?> |
上のサンプルコードは、「4の倍数以外ならば、$num を出力せよ」というプログラムです。
実行結果を見てみましょう。
|
1 |
1 2 3 5 6 7 9 10 11 13 14 15 17 18 19 |
「continue」によって、「4」の倍数の時、数値の出力が中断され、次の処理が始まります。
この「次の処理に移る」という点が、「break」と「continue」の大きな違いとなります。
まとめ
- 「break」は、それ以降の処理を全て中断させ、繰り返し処理そのものを終了させる。
- 「continue」は、それ以降の処理を全て中断させ、次の繰り返し処理を開始する。