我知道这很容易通过 foreach
完成,然后是 while
->list 等过程(我已经完成了),但是我感觉到我的代码有点脏,它看起来不像是最好的解决方案...我希望使用 native PHP 数组函数来执行以下操作:
我有两个数组,如下所示:
[
['rank' => '579', 'id' => '1'],
['rank' => '251', 'id' => '2'],
]
和
[
['size' => 'S', 'status' => 'A', 'id' => '1'],
['size' => 'L', 'status' => 'A', 'id' => '2'],
]
我需要合并它们来产生:
[
['size' => 'S', 'status' => 'A', 'id' => '1', 'rank' => '579'],
['size' => 'L', 'status' => 'A', 'id' => '2', 'rank' => '251'],
]
有没有一种方法可以合并两个具有 id
值(或任何其他值)的数组,而无需进入无穷无尽的 foreach
集合?
最佳答案
$array = array_merge_recursive($array1, $array2);
或者自己做函数(可能会更快)
function my_array_merge(&$array1, &$array2) {
$result = Array();
foreach($array1 as $key => &$value) {
$result[$key] = array_merge($value, $array2[$key]);
}
return $result;
}
$array = my_array_merge($array1, array2);
print_r($array);
关于php - 按共享列值合并两个二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7973915/