如何通过键组合两个数组数组?通过键组合了两个数组阵列
例如: -
阵列1:
array (
array (
'id' => '1',
'A' => 'ABC'
),
array (
'id' => '2',
'A' => 'DEF'
)
)
阵列2:
array (
array (
'id' => '2',
'B' => '456'
)
array (
'id' => '1',
'B' => '123'
),
)
组合阵列:
array (
array (
'id' => '1',
'A' => 'ABC',
'B' => '123'
),
array (
'id' => '2',
'A' => 'DEF',
'B' => '456'
)
)
将合并数组顺序并不重要,但它应该matc h基于提供的字段而不是自然顺序。
我试过了。虽然看起来效率不高。
public function combineArraysByKey($array_1, $array_2, $key = 'id')
{
$combined_array = array();
foreach($array_1 as $sub_array_1) {
foreach($array_2 as $sub_array_2) {
if ($sub_array_1[$key] == $sub_array_2[$key]) {
$merged_sub_array = array_merge($sub_array_1, $sub_array_2);
array_push($combined_array, $merged_sub_array);
}
}
}
return $combined_array;
}
如何?可能通过编写一个组合数组的函数。所以我会问:[你有什么尝试?](http://whathaveyoutried.com/) – kero
这里的表现有多重要?如果你加入的密钥是内部数组的关键,那将更容易和更快。然后'array_merge'可能能够处理大部分你需要的东西。 – Bing
@kingkero,请参阅编辑。不过,我对一个合适的解决方案感兴趣。 – waspinator