PHPで異なる配列データをマージする方法はいくつかありますが、今回配列をマージする関数array_merge、array_push、array_merge_recursiveを使った出力結果をご紹介します。
用意した配列データ
以下の添字配列と連想配列を用意しました。
//添字配列
$arry1 = array('A','B','C');
$arry2 = array('D','E','F');
//連想配列
$rensoarry1 = array(
'no' => 1,
'sei' => 'yamada',
'mei' => 'taro',
'sex' => 'men',
'todofuken' => 'tokyo'
);
$rensoarry2 = array(
'no' => 2,
'sei' => 'suzuki',
'mei' => 'ziro',
'sex' => 'women',
'city' => 'yokohama'
);
array_mergeを使ったマージ出力結果
添字配列のarray_merge
print_r(array_merge($arry1,$arry2));
添字配列のarray_merge出力結果は、$arry1末尾から$arry2が追加されました。
Array
(
[0] => A
[1] => B
[2] => C
[3] => D
[4] => E
[5] => F
)
連想配列のarray_merge
print_r(array_merge($rensoarry1,$rensoarry2));
連想配列のarray_merge出力結果は、
キーが同じ場合、$rensoarry2に$rensoarry1が上書きされ、キーが異なる場合追加されました。
Array
(
[no] => 2
[sei] => suzuki
[mei] => ziro
[sex] => women
[todofuken] => tokyo
[city] => yokohama
)
array_pushを使ったマージ出力結果
添字配列のarray_push
array_push($arry1,$arry2);
print_r($arry1);
添字配列のarray_push出力結果は、$arry1に1つの添字として末尾に$arry2が追加されました。
Array
(
[0] => A
[1] => B
[2] => C
[3] => Array
(
[0] => D
[1] => E
[2] => F
)
)
連想配列のarray_push
array_push($rensoarry1,$rensoarry2);
print_r($rensoarry1);
連想配列のarray_push出力結果は、$rensoarry1に1つの添字[0]として末尾に$rensoarry2が追加されました。
Array
(
[no] => 1
[sei] => yamada
[mei] => taro
[sex] => men
[todofuken] => tokyo
[0] => Array
(
[no] => 2
[sei] => suzuki
[mei] => ziro
[sex] => women
[city] => yokohama
)
)
array_merge_recursiveを使ったマージ出力結果
添字配列のarray_merge_recursive
print_r(array_merge_recursive($arry1, $arry2));
添字配列のarray_merge_recursive出力結果は、
$arry1末尾から$arry2が追加されarray_mergeと同じ結果になりました。
Array
(
[0] => A
[1] => B
[2] => C
[3] => D
[4] => E
[5] => F
)
連想配列のarray_merge_recursive
print_r(array_merge_recursive($rensoarry1, $rensoarry2));
連想配列のarray_merge_recursive出力結果は、
キーごとに各添字がまとめられて出力されました。
array_merge_recursiveは連想配列用時に使うと便利なマージ関数でした。
Array
(
[no] => Array
(
[0] => 1
[1] => 2
)
[sei] => Array
(
[0] => yamada
[1] => suzuki
)
[mei] => Array
(
[0] => taro
[1] => ziro
)
[sex] => Array
(
[0] => men
[1] => women
)
[todofuken] => tokyo
[city] => yokohama
)
配列をPHPのarray_merge、array_push、array_merge_recursiveを使ってマージした出力結果ページ
一応「配列をPHPのarray_merge、array_push、array_merge_recursiveを使ってマージした出力結果」のページも以下から確認できます。
配列をPHPのarray_merge、array_push、array_merge_recursiveを使ってマージした出力結果ページ
※流用される場合は自己責任でお願いします。