首页 > 解决方案 > 如何使用foreach引用将array1与array2的匹配ID组合起来

问题描述

我有两个数组。array1包含用户的详细信息并array2具有个人详细信息。如何使用 foreach 引用合并array2到?array1

$array1 = [
['id'=> 1,'name'=>'John Sena', 'lastname'=>'Jonn'],
['id'=> 2,'name'=>'Rock', 'lastname'=>'Rock Sena']
];

$array2 = [
['id'=>1, 'company'=>'Warner Brother'], ['id'=>2, 'company'=>'Metro'],['id'=>'1', 'Address'=>'USA']
];

标签: phparraysmultidimensional-array

解决方案


您可以尝试此代码,而不是编写 foreach 的:

$res = array_merge($array1, $array2);
$res = array_reduce($res, function($acc, $item) {
    $acc[$item['id']] = isset($acc[$item['id']]) ? 
                        array_merge($acc[$item['id']], $item) :
                        $acc[$item['id']] = $item;
    return $acc;
});

推荐阅读