PHP: 配列に要素を追加する(先頭・末尾・途中)(

PHPで配列に要素を追加する場合の記述方法を説明します。

先頭に追加

配列の先頭に要素を追加する場合は array_unshift()関数を使います。

書式
int array_unshift(配列, 値1, ... )

戻り値は追加後の配列の要素数です。
追加する値は複数指定することができます。

追加すると配列のインデックス(添字)は0からの連番で振りなおされます。

$arr = [10, 20, 30];

// 先頭に追加
array_unshift($arr, 100);

print_r($arr);

// 実行結果
Array
(
    [0] => 100
    [1] => 10
    [2] => 20
    [3] => 30

末尾に追加

配列の末尾に要素を追加する場合は、array_push()関数か、 「$配列名[]」を使います。
どちらの方法でも末尾に追加できますが、 速度が速いのは「$配列名[]」の方です。

array_push()

int array_push(配列, 値1, ...)

array_push()を使った追加例です。

$arr = [10, 20, 30];

// 末尾に追加
array_push($arr, 200);

print_r($arr);

// 実行結果
Array
(
    [0] => 10
    [1] => 20
    [2] => 30
    [3] => 200
)

$配列名[]

$配列名[] = 値;

「$配列名[]」を使った追加例です。

$arr = [10, 20, 30];

// 末尾に追加
$arr[] = 200;

print_r($arr);

// 実行結果
Array
(
    [0] => 10
    [1] => 20
    [2] => 30
    [3] => 200
)

途中に追加

配列の途中に要素を追加する場合は、 array_splice()関数を使います。

書式
array_splice(配列, 追加位置, 0, 値);

追加の場合、第3引数に必ず「0」を指定します。 第4引数の値を配列で指定した場合は、一度に複数の値を追加できます。

追加すると配列のインデックス(添字)は0からの連番で振りなおされます。

下は array_splice()関数を使ったコード例です。

$arr = [10, 20, 30];

array_splice($arr, 1, 0, 50);

print_r($arr);

// 実行結果
Array
(
    [0] => 10
    [1] => 50
    [2] => 20
    [3] => 30
)