PHP: break文 ループ処理を抜け出す
ループを抜け出す break
PHPでループ処理を途中で抜け出したい場合は、break文を使います。 break文を使うと強制的にブロックを抜け出せます
break;
ループをネストしている(入れ子にしている)場合、 内側のループにあるbreak文では外側のループに移ります。 外側のループにあるbreak文ではループ全体を抜け出します。
次のコードでは、変数 i が3以上になるとループを抜け出します。 その結果 echo で表示されるのは「0,1,2」だけです。
for ($i=0; $i < 10; $i++) { if ($i >= 3) break; echo $i . " \n"; } // 実行結果 0 1 2
抜けだす階層を指定する
PHPのbreak文では抜け出す階層を指定することもできます。
break 階層;
「break 2;」と記述すると、2つのループを抜け出すことができます。
次のコードでは、内側のループで $k が5以上になった場合に
「break 2:」と記述しています。
その結果外側のループも抜け出すので、
$i は1度しか実行されずに終了します。
for ($i=0; $i < 10; $i++) { for ($k=0; $k < 10; $k++) { // 階層を2つ抜け出す if ($k >= 5) break 2; echo $i . ", " . $k . " \n"; } } // 実行結果 0, 0 0, 1 0, 2 0, 3 0, 4