在php中合并具有相同值的两个数组
我有两个数组 数组1在php中合并具有相同值的两个数组,php,arrays,multidimensional-array,key,array-merge,Php,Arrays,Multidimensional Array,Key,Array Merge,我有两个数组 数组1 Array ( [1] => 111, [id1] => 1, [2] => 11231, [id2] => 2, [3] => 12311, [id3] => 3, [4] => 11981, [id4] => 4, [5] => 11761, [id5] => 5, [6] => 11561, [id6] => 6 ) Array 2 Array ( [1]
Array
(
[1] => 111,
[id1] => 1,
[2] => 11231,
[id2] => 2,
[3] => 12311,
[id3] => 3,
[4] => 11981,
[id4] => 4,
[5] => 11761,
[id5] => 5,
[6] => 11561,
[id6] => 6
)
Array 2
Array
(
[1] => 2,
[id1] => 1,
[2] => 2,
[id2] => 2,
[3] => 3,
[id3] => 3,
[4] => 4,
[id4] => 4,
[5] => 4,
[id5] => 5,
[6] => 6,
[id6] => 6
)
Id key是两个数组中的用户Id
第二个数组中的数字键是manager id
我想以下面的格式合并这两个数组
合并数组
Array
(
[2] => Array
(
[0] => 111
[1] => 1
),
Array
(
[0] => 11231
[1] => 2
),
[3] => Array
(
[0] => 12311
[1] => 3
),
[4] => Array
(
[0] => 11981
[1] => 4
),
Array
(
[0] => 11761
[1] => 5
),
[6] => Array
(
[0] => 11561
[1] => 6
)
)
数组内部的数组是第一个数组的值。
2,3,4,6键是来自第二个数组的值。
具有相同管理员id的用户将合并到单个阵列中。阵列漫游将用户提供的函数应用于阵列的每个成员
array_walk($array2, function($value,$key) use($array1,&$result){
if(is_integer($key))
$result[$value][]=[$array1[$key],$array1['id'.$key]];
});
输出
array (size=4)
2 =>
array (size=2)
0 =>
array (size=2)
0 => int 111
1 => int 1
1 =>
array (size=2)
0 => int 11231
1 => int 2
3 =>
array (size=1)
0 =>
array (size=2)
0 => int 12311
1 => int 3
4 =>
array (size=2)
0 =>
array (size=2)
0 => int 11981
1 => int 4
1 =>
array (size=2)
0 => int 11761
1 => int 5
6 =>
array (size=1)
0 =>
array (size=2)
0 => int 11561
1 => int 6
你从中找到答案了吗。或者您尝试了什么,向我们展示您的最佳尝试(代码),您可能比您想象的更接近解决方案!请阅读。