合并来自多个数组的行数据
合并来自多个数组的数据可能是处理复杂数据结构时的常见要求。当数组具有不同的键和值时,此任务变得更具挑战性。
要合并两个数组同时保留原始键和值,可以使用 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'] ];
要使用 array_merge_recursive 合并这些数组,我们需要首先确保所有数字键都转换为字符串。这可以使用 array_map 函数来完成:
$ar1 = array_map('strval', $ar1); $ar2 = array_map('strval', $ar2);
现在,我们可以使用 array_merge_recursive 来合并数组:
$result = array_merge_recursive($ar1, $ar2);
生成的 $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中文网其他相关文章!