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

次のコードの実行結果として正しいものはどれか。 ```php for ($i = 0; $i < 5; $i++) { if ($i == 2) { continue; } if ($i == 4) { break; } print $i; } ```

0134
01234
013 正解
01
解説
`continue`は現在のループの残りの処理をスキップして次のイテレーションに進み、`break`はループそのものを終了します。 ・`$i = 0`: 出力`0` ・`$i = 1`: 出力`1` ・`$i = 2`: `continue`が実行され、`print $i;`はスキップ(何も出力されない) ・`$i = 3`: 出力`3` ・`$i = 4`: `break`が実行され、`print $i;`に到達する前にループ終了(`4`は出力されない) したがって出力は`013`です。 例: ``` for ($i = 0; $i < 5; $i++) { if ($i == 2) { continue; } if ($i == 4) { break; } print $i; } // 出力: 013 ``` (参照: 独習PHP 第4版 第4章 制御構文 4.3節 ループの制御 p.153〜157)

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