【问题标题】:Merging two array with same values in php在php中合并两个具有相同值的数组
【发布时间】:2021-05-17 04:50:53
【问题描述】:

我有两个数组。

数组 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 键是两个数组中的用户 ID 第二个数组中的数字键是经理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 的用户将被合并到一个数组中。

【问题讨论】:

标签: php arrays multidimensional-array key array-merge


【解决方案1】:

Array Walk 将用户提供的函数应用于数组的每个成员

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

【讨论】:

    猜你喜欢
    • 2014-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-30
    • 2014-03-12
    • 1970-01-01
    • 1970-01-01
    • 2011-11-24
    相关资源
    最近更新 更多