7章配列

配列は順序付きのマップです。つまり、配列では特定の値が簡単に識別できるキーに関連付けられています。このマップは、単純なリストと複雑なオブジェクトのコレクションの両方を構成するために有効です。また、配列は操作も容易です。配列への要素の追加や削除は簡単で、複数の関数を介して操作することが可能です。

配列の種類

PHPの配列には、数値添字配列と連想配列の2つの形式があります。明示的にキーを設定せず配列を定義すると、PHPは内部的に配列の各要素に整数のインデックスを付与します。配列のインデックスは0から始まり、自動的に1ずつ増分します。

連想配列は、文字列または整数のキーを持つことができますが、通常は文字列を使います。文字列のキーは配列に格納された特定の値を「探し出す」のに効果的です。

配列は内部的にはハッシュテーブルとして実装されています。そのため、キーと値を効果的に直接の関連付けることが可能です。

$colors = [];
$colors['apple']  = '赤';
$colors['pear']   = '緑';
$colors['banana'] = '黄';

$numbers = [22, 15, 42, 105];

echo $colors['pear']; // 緑
echo $numbers[2]; // 42

より単純なハッシュテーブルとは異なり、PHPの配列は反復可能なインターフェイスも実装しているため、一度に全要素を繰り返し処理できます。キーが数値のときに反復は非常に明確ですが、連想配列の場合も要素はメモリ内に格納されるので、順序は固定です。レシピ7.3では、数値添字配列と連想配列のそれぞれで、各要素に作用する別の方法について詳しく説明します。

Get PHPクックブック ―モダンPHPによるWebアプリケーション実用レシピ集 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.