カテゴリー
PHP

forとifとbreakを組み合わせて使おう

この例ではfor文とif文とbreak文を組み合わせて使う方法について説明します。
breakは、現在実行中の for, foreach, while, do-while, switchの実行を強制終了する機能を持っています。
switch の章でbreakを使用したのを覚えているでしょうか?breakは for文でも使うことが出来るのです。
では例をみてみましょう。1 for文のブロックの中にif文が入っています。
このif文の意味はもし、$iが4になったらfor文を抜けますよと言う意味です。
breakはこのように一連の流れを強制的に中止してブロックを抜けるために使われます。
$iが4になったらfor文を抜けると言うことは1は出力されないということです。
結果は以下の通りです。1 次の例をみてみましょう。
for文の入れ子の中でbreakを使うとどうなるのかを説明します。1 この例の中のforの中でbreakを使っていますが、このbreakで抜けることができるのは内側のfor文、つまり上から2つ目のforだけです。
内側のfor文の条件部分が5を超えたら、上から2つ目のforをbreakするのですが、breakした後はまた先頭の1に戻って続きを繰り返します。1 になりますが、
「2掛ける3=6」
「3掛ける2=6」
「3掛ける3=9」
「4掛ける2=8」
「4掛ける3=12」
が出力されていません。
理由はif文の中のbreakで内側のfor文を抜けているために、その下のprint文が出力されていないからです。
次の例をみてみましょう。
外側のfor文も含めてすべてのfor文を抜けたい場合どうしたらいいのかを説明します。1 2つfor文がありますが、すべてのfor文を抜けたい場合には内側のfor文の中に1と入力します。
これにより、すべてのfor文を抜けることが出来ます。
break の横の数字には入れ子になったforの構造で抜けたい階層の数を指定します。
例えばこの例のように2つのfor文を抜けたい場合には2を指定します。
「break 3; 」と書けばforの3重構造を抜けることが出来ます。
結果は以下の通りです。
1掛ける1=1
1掛ける2=2
1掛ける3=3
2掛ける1=2
2掛ける2=4