第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)

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