第2章 PHPの基本 / 第1回 模擬試験

次の実行結果を得たい場合、コードの【A】と【B】に入る組み合わせとして正しいものはどれか。 ```php [ 実行結果 ] snowdrop, marigold [ コード ] $flowers = array(array('rose', 'hibiscus', 'tulip'), array('snowdrop','lily','gardenia'), array('lavender','gentian','pansy'), array('dandelion','sun flower','marigold')); print 【A】. ', ' .【B】; ```

【A】$flowers[1][1]、【B】$flowers[4][3]
【A】$flowers[1][1]、【B】$flowers[3][2]
【A】$flowers[1][0]、【B】$flowers[3][2] 正解
【A】$flowers[1][0]、【B】$flowers[3][3]
解説
多次元配列の各要素にも、通常の配列と同じく`0`始まりのインデックスでアクセスします。 `$flowers`は4つの配列を要素に持つ配列で、インデックス`1`の要素は`['snowdrop','lily','gardenia']`です。その中のインデックス`0`が`'snowdrop'`なので【A】は`$flowers[1][0]`。 インデックス`3`の要素は`['dandelion','sun flower','marigold']`で、その中のインデックス`2`が`'marigold'`なので【B】は`$flowers[3][2]`。 例: ``` $flowers = [ ['rose', 'hibiscus', 'tulip'], ['snowdrop', 'lily', 'gardenia'], ['lavender', 'gentian', 'pansy'], ['dandelion', 'sun flower', 'marigold'], ]; echo $flowers[1][0] . ', ' . $flowers[3][2]; // snowdrop, marigold ``` 配列のインデックスが0始まりであることを見落とし、`$flowers[1][1]`(2番目の要素`'lily'`)のように1つずれた添字を指定してしまうミスが起こりやすいので注意してください。 (参照: 独習PHP 第4版 第2章 PHPの基本 2.4.4節 多次元配列 p.77〜78)