在数据操作领域,合并数组通常是一项常见任务。本文探讨了一个特定场景:根据共享列值组合两个二维数组。
想象两个数组,每个数组都包含具有公共标识符的对象。这些数组可能看起来像这样:
$array1 = [ ['rank' => '579', 'id' => '1'], ['rank' => '251', 'id' => '2'], ]; $array2 = [ ['size' => 'S', 'status' => 'A', 'id' => '1'], ['size' => 'L', 'status' => 'A', 'id' => '2'], ];
我们的目标是将这些数组合并为一个数组,组合共享相同“id”值的元素。
PHP 提供了几个有助于数组合并的函数。让我们来探索一下它们:
1。 array_merge_recursive(): 该函数递归地组合数组,用源数组中的值覆盖目标数组中的现有键。它毫不费力地实现了所需的合并,如以下代码所示:
$mergedArray = array_merge_recursive($array1, $array2);
2.自定义合并函数:为了最大程度地控制,我们可以创建一个自定义合并函数:
function my_array_merge(&$array1, &$array2) { $result = []; foreach ($array1 as $key => &$value) { $result[$key] = array_merge($value, $array2[$key]); } return $result; }
此函数迭代数组,根据其键合并相应的元素。
通过共享列值组合二维数组是一种常见操作。 PHP 提供了像 array_merge_recursive() 这样的原生函数来快速合并。然而,对于定制合并或性能优化,可以使用定制函数。方法的选择取决于具体要求和所需的控制。
以上是如何在 PHP 中基于共享列值合并两个二维数组?的详细内容。更多信息请关注PHP中文网其他相关文章!