第4章 制御構文 / 第1回 模擬試験
次のコードの実行結果として正しいものはどれか。 ```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 . ','); } ```
【loop_A】zero,one,three,four,【loop_B】0,1,2,3,
【loop_A】zero,one,two,four,【loop_B】0,1,3,2,
正解
【loop_A】zero,one,three,four,【loop_B】0,1,3,2,
【loop_A】zero,one,two,three,【loop_B】0,1,3,2,
解説
`$num`は`['zero', 'one', 2 => 'two', 3 => 'four']`となります。`for`ループは0から順にアクセスするため`zero,one,two,four`。`foreach`は挿入順(0,1,3,2)でキーを出力します。
(参照: 独習PHP 第4版 第4章 制御構文 4.2.5節 foreach命令 p.147 / 第2章 2.4節 配列 p.71)
関連する問題
- PHPの条件分岐に関する次の記述のうち、誤っているものはどれか。
- 次のコードの実行結果として正しいものはどれか。 ```php $i = 1; while ($i <= 5) { print $i; $i++; } ```
- PHPのループ制御に関する次の記述のうち、正しいものはどれか。
- PHPの条件分岐に関する次の記述のうち、正しいものはどれか。
- 次のコードの実行結果として正しいものはどれか。 ```php for ($i = 0; $i < 5; $i++) { if ($i == 2) { continue; } if ($i == 4) { break; } print $i; } ```