関数の概要
array_merge は、複数の配列を一つに結合するためのPHP組み込み関数です。引数として渡した複数の配列の要素を結合し、新しい配列として返します。キーが数値の場合は連結され、文字列キーの場合は上書きされるため、配列の結合やデータの統合などでよく使われます。
パラメータの説明
array ...$arrays– 結合したい配列を1つ以上渡します。可変長引数なので、好きなだけ配列を指定可能です。
戻り値
引数で渡されたすべての配列の要素を結合した新しい配列を返します。元の配列は変更されません。
使用例
基本的な使い方
<?php
$array1 = [1, 2, 3];
$array2 = [4, 5, 6];
$result = array_merge($array1, $array2);
print_r($result);
// 出力: Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 )
?>
2つの数値配列を結合し、インデックスは連番で再割り当てされます。
文字列キーを持つ配列の結合
<?php
$array1 = ['a' => 'apple', 'b' => 'banana'];
$array2 = ['b' => 'blueberry', 'c' => 'cherry'];
$result = array_merge($array1, $array2);
print_r($result);
// 出力: Array ( [a] => apple [b] => blueberry [c] => cherry )
?>
文字列キーのbは後から渡された配列の値で上書きされます。
数値キーと文字列キーが混在する場合
<?php
$array1 = [0 => 'zero', 2 => 'two'];
$array2 = [1 => 'one', '2' => 'second two'];
$result = array_merge($array1, $array2);
print_r($result);
// 出力: Array ( [0] => zero [1] => two [2] => one [3] => second two )
?>
数値キーはインデックスを詰めて連番が振り直され、文字列キー(‘2’)も新たなキーとして扱われます。
関連する関数
array_merge_recursive– 同じキーがあった場合、値を配列として結合するarray_replace– 配列を上書きする形で結合するarray_combine– 2つの配列をキーと値に設定して結合するarray_push– 配列の末尾に要素を追加する
まとめ
array_merge は複数の配列を簡単に一つにまとめたいときに便利な関数です。数値キーの配列は再インデックスされ、文字列キーは後の配列で上書きされるため挙動を理解して使うことが重要です。実務ではデータの集約や設定値の統合に頻繁に利用されるため、使いこなせると効率的にPHPで配列操作ができます。
