PHP合并两个或多个数组的方法
使用运算符“+”
PHP的数组运算符“+”可以用来联合两个(或多个数组)。
<?php header("content-type:text/html;charset=utf-8"); $x = array("red", "green","orange"); $y = array("red","blue","yellow","cyan"); $z = $x + $y; // $x 与 $y 的联合 var_dump($z); ?>
输出:
可以看出,第二个数组中只有第4个值包含在结果中,因为第二个数组的前三个元素具有和第一个数组元素相同的键。接下来让我们看看数组索引不匹配时数组联合运算符"+"的作用:
<?php header("content-type:text/html;charset=utf-8"); $x = array("a" => "red", "b" => "green"); $y = array("c" => "blue", "d" => "yellow"); $z = $x + $y; // $x 与 $y 的联合 var_dump($z); ?>
输出:
可以看出:数组运算符“+”没有对结果中索引进行重新排序。
使用array_merge()函数
array_merge()函数可以用于将两个或多个数组合并为一个数组,例:
<?php header("content-type:text/html;charset=utf-8"); $x = array("0" => "red", "1" => "green","2" => "yellow"); $y = array("3" => "blue", "2" => "yellow","1" => " orange"); $z = array_merge($x, $y); // $x 与 $y 的联合 var_dump($z); ?>
输出:
可以看出,array_merge()函数传递给数组键的数字索引在返回的数组中从零开始重新编号。
使用array_merge_recursive()函数
array_merge_recursive()函数可以把一个或多个数组合并为一个数组。
<?php header("content-type:text/html;charset=utf-8"); $x = array("0" => "red", "1" => "green","2" => "yellow"); $y = array("3" => "blue", "2" => "yellow","1" => " orange"); $z = array_merge_recursive($x, $y); // $x 与 $y 的联合 var_dump($z); ?>
输出: