使用本机 PHP 函数高效地合并基于共享列值的二维数组
高效地合并多个数组是 PHP 编程中的常见任务。本文探讨了一种基于共享列值合并两个二维数组的最佳解决方案,而无需诉诸嵌套循环或复杂的过程。
给定两个示例数组:
$array1 = [ ['rank' => '579', 'id' => '1'], ['rank' => '251', 'id' => '2'], ]; $array2 = [ ['size' => 'S', 'status' => 'A', 'id' => '1'], ['size' => 'L', 'status' => 'A', 'id' => '2'], ];
目标是将这些数组合并到一个新数组中,该数组根据匹配的 id 组合每个数组中的值值:
$mergedArray = [ ['size' => 'S', 'status' => 'A', 'id' => '1', 'rank' => '579'], ['size' => 'L', 'status' => 'A', 'id' => '2', 'rank' => '251'], ];
利用本机 PHP 数组函数
为了促进此合并过程,PHP 提供了两个本机函数:
示例代码使用array_merge_recursive():
$mergedArray = array_merge_recursive($array1, $array2);
使用 my_array_merge():
function my_array_merge(array &$array1, array &$array2) { $result = []; foreach ($array1 as $key => &$value) { $result[$key] = array_merge($value, $array2[$key]); } return $result; } $mergedArray = my_array_merge($array1, $array2);
两种方法有效地合并两个数组,产生所需的输出。函数的选择取决于开发者的具体性能要求和代码清晰度偏好。
以上是如何使用本机函数有效地合并基于共享列的两个 2D PHP 数组?的详细内容。更多信息请关注PHP中文网其他相关文章!