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

PHPの配列のデータ構造に関する次の記述のうち、誤っているものはどれか。

連想配列はキーに文字列を使用できる。
配列のキーを省略すると、0から始まる数値キーが自動的に割り当てられる。
配列は`array()`または`[]`構文で作成できる。
PHPの配列は、数値添字配列と連想配列で全く別のデータ構造として実装されている。 正解
解説
PHPの配列は、数値添字配列(インデックス配列)も連想配列も、内部的には同じ「順序付きハッシュマップ」というデータ構造で実装されています。見た目上の使い方が違うだけで、まったく別のデータ構造として実装されているわけではありません。この記述は誤りです。 他の選択肢が正しい理由は次の通りです。 ・連想配列では、`['name' => 'Taro']`のように文字列をキーとして使用できます。 ・`$arr[] = 'value';`のようにキーを省略して要素を追加すると、既存の数値キーの最大値+1(配列が空なら0)が自動的に割り当てられます。 ・配列は古い記法の`array('a', 'b')`、または短縮記法の`['a', 'b']`のどちらでも作成できます。 例: ``` $mixed = ['a', 'b', 'x' => 'y', 'c']; print_r($mixed); // [0=>'a', 1=>'b', 'x'=>'y', 2=>'c'] ``` (参照: 独習PHP 第4版 第2章 PHPの基本 2.4節 配列 p.71〜81)