首页 > 后端开发 > php教程 > 如何使用本机函数有效地合并基于共享列的两个 2D PHP 数组?

如何使用本机函数有效地合并基于共享列的两个 2D PHP 数组?

Susan Sarandon
发布: 2024-12-03 22:10:14
原创
687 人浏览过

How Can I Efficiently Merge Two 2D PHP Arrays Based on a Shared Column Using Native Functions?

使用本机 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():合并两个数组递归地保留多维结构。
  • my_array_merge():循环遍历数组并合并相应值的自定义函数。

示例代码使用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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板