【PHP入門】配列・連想配列に値を追加する方法まとめ

配列はPHPに限らず、さまざまなプログラミング言語で必須の機能となります。

この記事では、

・[](角カッコ)で配列の値を追加する方法
・array_push関数で配列の値を追加する方法

という基本的な内容から、

・array_merge関数で配列を結合する方法
・array_unshiftで配列の先頭に値を追加する方法

などの応用的な使い方に関しても解説していきます。

今回はそんな配列の追加方法について、わかりやすく解説します!

目次

配列に値を追加する方法

[](角カッコ)で値を追加する

配列に値を追加したい場合、簡単な方法として追加する配列に[](角カッコ)をつけて値を代入する方法があります。

書き方:

$配列[] = $値

以下に[](角カッコ)を使用して、配列に値を追加するサンプルを紹介します。

サンプルプログラム1

//配列を設定する
$fruits = ['apple', 'orange', 'melon'];
//値を追加する
$fruits[] = 'banana';
$fruits[] = 'pineapple';

print_r($fruits);


実行結果:

Array
(
    [0] => apple
    [1] => orange
    [2] => melon
    [3] => banana
    [4] => pineapple
)

サンプルで紹介しているように、[](角カッコ)を使用すれば簡単に配列に値を追加できることがわかりますね。

また、配列に重複した値を設定しても、値はそのまま配列に格納されます。

では連想配列に値を追加するとどうなるのでしょうか?

以下に連想配列に値を追加するサンプルを紹介します。

サンプルプログラム2

$fruits = [
            0 =>'apple',
            1 =>'orange',
            2 =>'melon',
          ];

//値を追加する
$fruits[] = 'banana';
$fruits[] = 'pineapple';

print_r($fruits);

実行結果:

Array
(
    [0] => apple
    [1] => orange
    [2] => melon
    [3] => banana
    [4] => pineapple
)

上記のように連想配列でキーが数値の場合は、自動でインデックス番号がキーとして割り振られます。

キーが数値以外の添字などの場合は、値を追加すると0からのインデックス番号が割り振られます。

array_pushを使用する

array_push関数を使用することでも、配列に値を簡単に追加することができます。

array_push関数は以下のように記述します。

書き方:

array_push(追加先の配列名, 追加する値(, 追加する値・・・))


引数:

第一引数には追加先の配列名を指定します。
第一引数以降では追加する値を1つまたは複数指定します。

返り値:
指定した値を追加した配列の要素数を返します。

以下にarray_push関数を使用して、配列に値を追加するサンプルを紹介します。

サンプルプログラム1

//配列を設定する
$fruits = ['apple', 'orange', 'melon'];

//array_pushで配列の値を追加する
array_push($fruits, 'banana', 'pineapple');

print_r($fruits);

実行結果:

Array
(
    [0] => apple
    [1] => orange
    [2] => melon
    [3] => banana
    [4] => pineapple
)

上記のサンプルのようにarray_pushで指定した値が、追加先の配列に追加されていることがわかりますね。

では連想配列に対してarray_push関数で値を追加するとどうなるのでしょうか?

以下にarray_push関数で連想配列に値を追加する方法を紹介します。

サンプルプログラム2

$fruits = [
            0 =>'apple',
            1 =>'orange',
            2 =>'melon',
          ];

//array_pushで配列の値を追加する
array_push($fruits, 'banana', 'pineapple');

print_r($fruits);

実行結果:

Array
(
    [0] => apple
    [1] => orange
    [2] => melon
    [3] => banana
    [4] => pineapple
)

上記のように連想配列でキーが数値の場合は、角カッコで追加したときと同じく自動でインデックス番号がキーとして割り振られます。

キーが数値以外の添字などの場合も角カッコ同様、値を追加すると0からのインデックス番号が割り振られます。

配列の先頭に追加する(array_unshift)

array_unshift関数を使用すると、配列の先頭に要素を追加することができます。

array_unshift関数は以下のように記述します。

書き方:

array_unshift(追加先の配列名, 追加する値(, 追加する値・・・));

引数:
第一引数には追加先の配列名を指定します。
第一引数以降には追加する値を1つまたは複数指定します。

返り値:
指定した値を追加した配列の要素数を返します。

以下にarray_unshift関数を使用して、配列に値を追加するサンプルを紹介します。

サンプルプログラム1

//配列を設定する
$fruits = ['apple', 'orange', 'melon'];

//array_unshiftで配列の値を先頭に追加する
array_unshift($fruits, 'banana', 'pineapple');

print_r($fruits);


実行結果:

Array
(
    [0] => banana
    [1] => pineapple
    [2] => apple
    [3] => orange
    [4] => melon
)

上記のサンプルのようにarray_unshift関数で指定した値が配列の先頭に追加されていることがわかりますね。

では連想配列に対してarray_unshift関数で値を追加するとどうなるのでしょうか?

以下にarray_unshift関数で連想配列に値を追加する方法を紹介します。

サンプルプログラム2

//配列を設定する
$fruits = [
            0 =>'apple',
            1 =>'orange',
            2 =>'melon',
          ];

//array_unshiftで配列の値を先頭に追加する
array_unshift($fruits, 'banana', 'pineapple');

print_r($fruits);

実行結果:

Array
(
    [0] => banana
    [1] => pineapple
    [2] => applee
    [3] => orange
    [4] => melon
)

上記のように連想配列でキーが数値の場合は、インデックス番号が0から降り直されます。

連想配列のキーが添字の場合は、値を追加すると0からのインデックス番号が割り振られます。

配列を結合する(array_merge)

array_merge関数を使用すると、配列同士を結合することができます。

array_merge関数は以下のように記述します。

書き方:

array array_marge(追加先の配列名、追加する配列、(, 追加する配列・・・));

引数:
第一引数には最初の配列名を指定します。
第一引数以降には結合する配列名を1つまたは複数指定します。

返り値:
結合された配列を返します。

以下にarray_marge関数を使用して配列を結合するサンプルを紹介します。

サンプルプログラム1

//配列を設定する
$fruits1 = ['apple', 'orange', 'melon'];
$fruits2 = ['banana', 'pineapple'];

//array_mergeで配列同士を結合する
$fruits_merge = array_merge($fruits1, $fruits2);

print_r($fruits_merge);

実行結果:

Array
(
    [0] => apple
    [1] => orange
    [2] => melon
    [3] => banana
    [4] => pineapple
)

上記サンプルのように第二引数以降で指定した配列が、第一引数で指定した配列の後ろに結合されていることがわかりますね。

array_merge関数を使用して、連想配列同士を結合するとどうなるのでしょうか?

以下に連想配列同士を結合するサンプルを紹介します。

サンプルプログラム2

//配列を設定する
$fruits1 = [
            1 =>'apple',
            2 =>'orange',
            3 =>'melon',
          ];

$fruits2 = [
            1 =>'banana',
            2 =>'pineapple',
          ];

//array_mergeで配列同士を結合する
$fruits_merge = array_merge($fruits1, $fruits2);

print_r($fruits_merge);

実行結果:

Array
(
    [0] => apple
    [1] => orange
    [2] => melon
    [3] => banana
    [4] => pineapple
)

上記のように連想配列でキーが数値の場合は、インデックス番号が0から降り直されます。

結合する配列のキーが添字でキーが重複していた場合は、結合する配列のキーの値に上書きされますので注意しましょう。

array_merge関数については、以下の記事でも詳細に解説していますので、ぜひ参考にしてくださいね!

配列についてもっと詳しく知りたい方へ

本記事で紹介した配列の追加・結合以外のさまざまな配列の使い方、

・配列の初期化
・配列をコピーする方法
・ループで要素を取得する方法
・配列の先頭の要素を取得する方法
・配列の要素が空か判定する方法
・配列を比較する方法
・配列の要素数を調べる方法

などについては以下の記事で詳しく解説していますので、ぜひ参考にしてくださいね!

まとめ

ここでは配列の追加・結合する方法について、

・[](角カッコ)で配列の値を追加する方法
・array_push関数で配列の値を追加する方法
・array_merge関数で配列を結合する方法
・array_unshiftで配列の先頭に値を追加する方法

などについて解説しました。

配列は値をまとめて管理するときによく使用しますので、この機会にぜひ覚えておきましょう。

もし、配列の追加方法を忘れてしまったら、この記事を思い出してくださいね!

この記事を書いた人

侍エンジニア塾は「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。侍テック編集部では技術系コンテンツを中心に有用な情報を発信していきます。

目次