首页 >后端开发 >php教程 >如何在 PHP 中将两个具有键值对的数组合并为一个数组?

如何在 PHP 中将两个具有键值对的数组合并为一个数组?

Susan Sarandon
Susan Sarandon原创
2024-12-15 07:17:10671浏览

How to Merge Two Arrays with Key-Value Pairs into a Single Array in PHP?

合并多个数组中的行数据

将多个数组中的数据合并到单个内聚结构中可能是一项常见的编程任务。本题探讨了需要合并两个数组以生成具有特定属性的新数组的场景。

第一个数组包含两个元素,每个元素由“gross_value”和“quantity”键值对组成。第二个数组还包含两个元素,每个元素由一个“item_title_id”和一个“order_id”键值对组成。

目标是将这些数组合并到一个新数组中,其中每个元素组合了所有键-来自两个原始数组的值对。生成的数组应该有四个键值对:“gross_value”、“quantity”、“item_title_id”和“order_id”。

解决方案

实现此合并的推荐方法是通过array_merge_recursive 函数的使用。该函数接受多个数组作为输入,并递归地合并它们的值。

为了准备合并,两个数组的数字键都将转换为字符串,确保它们成为关联数组。以下代码演示了这一点:

$ar1 = [
    ['gross_value' => '100', 'quantity' => '1'],
    ['gross_value' => '200', 'quantity' => '1']
];

$ar2 = [
    ['item_title_id' => '1', 'order_id' => '4'],
    ['item_title_id' => '2', 'order_id' => '4']
];

$ar1 = array_map('array_values', $ar1);
$ar2 = array_map('array_values', $ar2);

转换数组后,可以使用 array_merge_recursive 合并它们:

$result = array_merge_recursive($ar1, $ar2);
print_r($result);

此代码将合并两个数组中的键值对,产生想要的结果:

[
    ['gross_value' => '100', 'quantity' => '1', 'item_title_id' => '1', 'order_id' => 4],
    ['gross_value' => '200', 'quantity' => '1', 'item_title_id' => '2', 'order_id' => 4]
]

以上是如何在 PHP 中将两个具有键值对的数组合并为一个数组?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn