第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)
関連する問題
- 次のコードの実行結果として正しいものはどれか。 ```php $num = ['zero', 'one', 'three']; $num[3] = 'four'; $num[2] = 'two'; print ('【loop_A】'); for ($i = 0, $count_num = count($num); $i < $count_num; $i++) { print ($num[$i] . ','); } print ('【loop_B】'); foreach ($num as $i => $n) { print ($i . ','); } ```
- PHPの条件分岐に関する次の記述のうち、誤っているものはどれか。
- PHPのループ制御に関する次の記述のうち、正しいものはどれか。
- PHPの条件分岐に関する次の記述のうち、正しいものはどれか。
- 次のコードの実行結果として正しいものはどれか。 ```php for ($i = 0; $i < 5; $i++) { if ($i == 2) { continue; } if ($i == 4) { break; } print $i; } ```