PHPの配列は順序付きマップです。
マップとは、キーと値を対応付けるデータ構造です。
配列は汎用性が高く、線形配列(CやJavaのような)、リスト[ベクター]、ハッシュテーブル、辞書、コレクション、スタック、キューのように扱うこともできます。
キーは省略できますが、指定する場合はintまたはstringでなければなりません。
キーを指定しない場合、PHPは0から始まる整数のキーを昇順に割り当てます。
$no_keys = ["my", "first", "array"];
$integer_keys = [0 => "my", 1 => "first", 2 => "array"];
$no_keys == $integer_keys // => equal returns true
$no_keys === $integer_keys // => strictly equal returns true
配列にはあらゆる型の値を格納できます。 それぞれの値が異なる型でもかまいません。
$my_arr = [
1,
"second",
new \DateTimeImmutable()
];
配列はリテラルとして宣言する(上記のようにコードに書く)ことも、関数で作成して操作することもできます。
$my_empty_arr = [];
// or
$my_empty_arr = array(); // => []
// or
$letters = mb_str_split("Hello"); // => ["H", "e", "l", "l", "o"]
インデックス演算子を使って、値にアクセスしたり、代入したり、追加したりできます。
$prime_numbers = [2, 3, 5, 6];
$prime_numbers[3] = 7; // replace 6 with 7
$prime_numbers[] = 11; // array now contains [2, 3, 5, 7, 11]
foreachを使うと、配列を繰り返し処理できます。
$names = ["Ani", "Jack", "Rami"]
// Iterate just the values
foreach ($names as $name) {
echo $name;
}
// Iterate keys and values
foreach ($names as $index => $name) {
echo "$index => $name";
}