PHP 二次元配列、配列への要素の追加の仕方

PHPでは配列(array)を扱う方法が多岐にわたり、特に二次元配列を操作する際にはさまざまな方法で要素を追加できる。

ここでは、$arr[] = ...array_push()$arr = ['aaa'] などの配列操作について書く。

1. PHPの配列とは?

PHPの配列は、異なるデータ型を持つ要素を格納できる柔軟なデータ構造である。配列には以下の3種類がある。

  1. インデックス配列(連想されていない数値キーを持つ配列)
  2. 連想配列(キーと値のペアで構成される配列)
  3. 多次元配列(配列の中に配列が入る構造)

2. 二次元配列とは?

二次元配列は、配列の要素として別の配列を持つデータ構造である。

例として、以下のようなデータ構造がある。

$students = [
    ["name" => "Alice", "age" => 20, "grade" => "A"],
    ["name" => "Bob", "age" => 22, "grade" => "B"],
];

このように、二次元配列を用いることで、複数のデータを整理して格納することができる。

3. 配列への要素の追加方法

PHPで配列に要素を追加する方法はいくつかある。

3.1 $arr[] = ... を使う方法

配列の末尾に新しい要素を追加する最もシンプルな方法。

$student["age"] = 21;

ほかに

$number = [21, 22, 23]; という配列があったとして 

$number[] = 100; とすると

新しい要素が配列の末尾に追加される。

3.2 array_push() を使う方法

array_push() は、配列に一つ以上の要素を追加するPHPの組み込み関数。

array_push($number, 22);

この方法も、要素を配列の末尾に追加される。

4. 追加の注意点

4.1 連想配列のキーを指定して追加する

特定のキーを持つ要素を追加する場合、$arr[]array_push() ではなく、キーを明示的に指定すると便利。

$students["name"] = "Frank";

4.2 array_merge() を使う

array_merge() を使用すると、複数の配列を結合できる。

$additional_student = ["age" => 22];
$students = array_merge($students, $additional_students);

4.3 array_splice() で特定の位置に挿入

特定の位置に要素を追加したい場合、array_splice() が便利。

$number = [21,23];

array_splice($number, 1, 0, 22);

この例では、配列の2番目の位置に新しい要素が挿入されます。

5. まとめ

方法説明
$arr[] = ...配列の末尾に要素を追加するシンプルな方法
array_push()配列の末尾に複数の要素を追加可能
$arr = ['aaa']配列を新しく作成(元の配列は上書きされる)
$arr[key] = ...連想配列の特定のキーに追加
array_merge()配列を結合する
array_splice()指定位置に要素を挿入する