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を使ってマージした出力結果ページ
※流用される場合は自己責任でお願いします。