第4章 制御構文 / 第3回 模擬試験

次のコードの実行結果として正しいものはどれか。 ```php outer: for ($i = 0; $i < 3; $i++) { for ($j = 0; $j < 3; $j++) { if ($j == 1) { continue 2; } print "$i-$j "; } } ```

0-0 0-1 0-2 1-0 1-1 1-2 2-0 2-1 2-2
0-0 1-0 2-0 正解
0-0 0-1 1-0 1-1 2-0 2-1
エラーが発生する
解説
`continue 2`は外側のループごとスキップします。`$j==1`になった時点で内側ループを抜けて外側ループの次のイテレーションへ移るため、`$j=0`の時だけ出力され`0-0 1-0 2-0`となります。(参照: 独習PHP 第4版 第4章 制御構文 4.3.3節 入れ子のループを中断/スキップする p.155〜156)

あわせて読みたい解説記事