PHP 数组合并:将数组与匹配的键组合
本问题探讨如何合并两个共享相同键的 PHP 数组。让我们深入探讨问题和解决方案。
问题:
考虑以下两个数组:
目标是合并通过聚合每个匹配键对应的值来聚合这些数组。
使用 array_map 的解决方案:
虽然 array_merge_recursive 可以递归地合并数组,但它需要具有匹配键值对的数组。使用 array_map 的自定义解决方案可以实现所需的结果:
$results = array(); array_map(function($a, $b) use (&$results) { $key = current(array_keys($a)); $a[$key] = array('ip' => $a[$key]); $key = current(array_keys($b)); $b[$key] = array('name' => $b[$key]); $results += array_merge_recursive($a, $b); }, $array1, $array2);
解释:
输出是一个数组,其中键表示摄像机编号,值作为子数组包含'ip' 和 'name' 属性。
通过利用 array_map 和自定义键操作,该解决方案有效地将数组与匹配键合并,同时仍然保留键值结构。
以上是如何合并具有匹配键的 PHP 数组并创建子数组?的详细内容。更多信息请关注PHP中文网其他相关文章!