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

次のコードの実行結果として正しいものはどれか。 ```php $i = 1; while ($i <= 5) { print $i; $i++; } ```

12345 正解
1234
012345
無限ループ
解説
`$i`は`1`から始まり、`$i <= 5`が真である間ループを繰り返し、ループ末尾で`$i++`により1ずつ増加します。したがって`$i`が`1,2,3,4,5`のときにそれぞれ`print $i;`が実行され、`$i`が`6`になった時点で条件`6 <= 5`が偽となりループを終了します。 例: ``` $i = 1; while ($i <= 5) { print $i; $i++; } // 出力: 12345 ``` 条件式の判定はループの先頭(`while`の直後)で毎回行われるため、`$i`のインクリメントを書き忘れると無限ループになる点にも注意してください。 (参照: 独習PHP 第4版 第4章 制御構文 4.2節 p.139〜152)

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