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