将多个数组合并成一个数组是在PHP开发中非常常见和实用的一种操作。下面我将为您提供完整的攻略:
函数array_merge()
PHP提供了array_merge()函数可以将多个数组合并成一个数组。它将所有数组的所有元素放入一个数组中,并返回该数组。数组键名保持原样,如果两个或多个数组具有相同的键名,则后面的键值将覆盖前面的键值。
示例1:
$array1 = array("color" => "red", 2, 4);
$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
$result = array_merge($array1, $array2);
print_r($result);
输出:
Array
(
[color] => green
[0] => 2
[1] => 4
[2] => a
[3] => b
[shape] => trapezoid
[4] => 4
)
在本例中,$array2数组中color的键值替换了$array1中color的键值。元素"2"和"4"没有键名,因此在结果数组中,它们使用自动分配的整数键。
示例2:
$array1 = array("color" => array("red", "green"), "shape" => "circle");
$array2 = array("color" => array("blue", "yellow"), "size" => "L");
$result = array_merge($array1, $array2);
print_r($result);
输出:
Array
(
[color] => Array
(
[0] => blue
[1] => yellow
)
[shape] => circle
[0] => red
[1] => green
[size] => L
)
在本例中,$array2数组中color的键值替换了$array1中color的键值。替换后的值是一个数组,array_merge()函数将整个数组插入到结果数组中。
运算符“+”
PHP也提供了一个用于合并数组的运算符“+”,它不同于array_merge(),它只保留键名在第一个数组中存在的元素,并忽略键名在第二个以及后面的数组中存在的元素。如果两个数组具有相同的键名,则第一个数组中的元素将保留,第二个数组中的元素将被忽略。
示例1:
$array1 = array("color" => "red", 2, 4);
$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
$result = $array1 + $array2;
print_r($result);
输出:
Array
(
[color] => red
[0] => 2
[1] => 4
[2] => a
[3] => b
[shape] => trapezoid
[4] => 4
)
在本例中,$array1数组中color的键值不被替换,$array2中的值被添加到结果数组中。
示例2:
$array1 = array("color" => array("red", "green"), "shape" => "circle");
$array2 = array("color" => array("blue", "yellow"), "size" => "L");
$result = $array1 + $array2;
print_r($result);
输出:
Array
(
[color] => Array
(
[0] => red
[1] => green
)
[shape] => circle
[size] => L
)
在本例中,$array2中的color值被忽略,$array1中的值被添加到结果数组中。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:php下将多个数组合并成一个数组的方法与实例代码 - Python技术站