Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中合并具有相同值的两个数组_Php_Arrays_Multidimensional Array_Key_Array Merge - Fatal编程技术网

在php中合并具有相同值的两个数组

在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]

我有两个数组

数组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

你从中找到答案了吗。或者您尝试了什么,向我们展示您的最佳尝试(代码),您可能比您想象的更接近解决方案!请阅读。