php 配列を共通するキーでまとめて結合する
phpで、array_merge_recursiveを使用して、共通するキーでまとめて結合するサンプルコードを記述してます。phpのバージョンは8.0です。
環境
- OS CentOS Linux release 8.0.1905 (Core)
- php 8.0.0
- nginx 1.14.1
array_merge_recursive使い方
array_merge_recursiveを使用すれば、共通するキーでまとめて結合することが可能です。
array_merge_recursive(配列,配列,...);
以下は、共通するキーでまとめて結合するサンプルコードとなります。
<?php
$arr1 = ["aaa" => 1, "bbb" => 2, "ccc" => 3];
$arr2 = ["aaa" => 4, "bbb" => 5, "ddd" => 6];
$result = array_merge_recursive($arr1,$arr2);
print_r($result);
実行結果
Array
(
[aaa] => Array
(
[0] => 1
[1] => 4
)
[bbb] => Array
(
[0] => 2
[1] => 5
)
[ccc] => 3
[ddd] => 6
)
キーと値が同じでも、再帰的に結合されます。
<?php
$arr1 = ["aaa" => 1, "bbb" => 2, "ccc" => 3];
$arr2 = ["aaa" => 1, "bbb" => 2, "ddd" => 6];
$result = array_merge_recursive($arr1,$arr2);
print_r($result);
実行結果
Array
(
[aaa] => Array
(
[0] => 1
[1] => 1
)
[bbb] => Array
(
[0] => 2
[1] => 2
)
[ccc] => 3
[ddd] => 6
)
多次元配列でもまとめられます。
<?php
$arr1 = ["aaa" => [1,2], "bbb" => [1,2], "ccc" => 3];
$arr2 = ["aaa" => [3,4], "bbb" => 2, "ddd" => 6];
$result = array_merge_recursive($arr1,$arr2);
print_r($result);
実行結果
Array
(
[aaa] => Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
)
[bbb] => Array
(
[0] => 1
[1] => 2
[2] => 2
)
[ccc] => 3
[ddd] => 6
)
-
前の記事
node.js sqliteのデータを1行だけ取得する 2021.07.28
-
次の記事
javascript lodashを使って後ろから最初に一致した配列のINDEX番号を取得する 2021.07.29
コメントを書く