在 php 中,将数组合并有三种常见方法:使用 array_merge() 函数、+ 运算符(适用于键名不冲突的情况)以及 array_combine() 函数(用于创建键值对数组)。在实战中,这些方法可用于将购物车的商品合并到订单数组中。
PHP 数组合并的常见方式
在 PHP 中,经常需要将多个数组合并在一起,以创建更大的数据集合。以下是实现数组合并的几种常见方法:
array_merge() 函数
array_merge()
函数会将多个数组合并为一个数组,并返回合并后的数组。该函数接受可变数量的数组作为参数。例如:
$array1 = ["foo", "bar"];
$array2 = ["baz", "qux"];
$mergedArray = array_merge($array1, $array2);
print_r($mergedArray);
// 输出:
// Array
// (
// [0] => foo
// [1] => bar
// [2] => baz
// [3] => qux
// )
+ 运算符
+
运算符也可以用于合并数组,但前提是两个数组的键名不冲突。例如:
$array1 = ["foo" => "bar"];
$array2 = ["baz" => "qux"];
$mergedArray = $array1 + $array2;
print_r($mergedArray);
// 输出:
// Array
// (
// [foo] => bar
// [baz] => qux
// )
array_combine() 函数
array_combine()
函数可以将两个数组合并为一个键值对数组。第一个数组的值作为键,第二个数组的值作为值。例如:
$keys = ["foo", "bar"];
$values = ["baz", "qux"];
$mergedArray = array_combine($keys, $values);
print_r($mergedArray);
// 输出:
// Array
// (
// [foo] => baz
// [bar] => qux
// )
实战案例:将购物车的商品合并到订单数组
考虑一个电子商务网站的购物车功能,其中每个商品都存储在一个数组中。当用户下单时,我们需要将购物车中的所有商品合并到一个订单数组中。
$cartItems = [
["product_id" => 1, "quantity" => 2],
["product_id" => 2, "quantity" => 1],
];
$order = [
"customer_id" => 123,
"order_date" => "2022-08-24",
];
// 使用 array_merge() 函数合并数组
$mergedArray = array_merge($order, $cartItems);
// 将合并后的数组插入数据库以创建订单
// ...