php中如何合并几个二维数组成为一个二维数组

2025-02-24 19:36:42
推荐回答(5个)
回答1:

PHP 中的 array_merge_recursive() 函数可以实现

将一个或多个数组的元素的合并起来,一个数组中的值附加在前一个数组的后面。并返回作为结果的数组。

当有重复的键名时,值不会被覆盖,而是将多个相同键名的值递归组成一个数组。

array_merge_recursive(array1,array2,array3...)

参数说明
array1 必需。输入的第一个数组。
array2 必需。输入的第二个数组。
array3 可选。可指定的多个输入数组。

例如:
$a1=array("a"=>"Horse","b"=>"Dog");
$a2=array("c"=>"Cow","b"=>"Cat");
print_r(array_merge_recursive($a1,$a2));
?>

输出:
Array (
[a] => Horse
[b] => Array ( [0] => Dog [1] => Cat )
[c] => Cow
)

注:array_merge() 函数也可以实现,与 array_merge_recursive()函数不同是,如果键名有重复,该键的键值为最后一个键名对应的值(后面的覆盖前面的)。如果数组是数字索引的,则键名会以连续方式重新索引。

回答2:

array_merge()将两个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。

回答3:

$a1 = array(1,2,3,4);
$a2 = array(a1,b2,c3,d4);
array_merge($a1,$a2)

回答4:

$arr1=array( '0'=>array(1,2,3), '1'=>array(4,5,6));
$arr2=array( '0'=>array(1,2,3), '1'=>array(4,5,6));
转化成
$arr=array( '0'=>array(1,2,3,1,2,3), '1'=>array(4,5,6,4,5,6));
代码如下
$count = count($arr1); //获取数组的数量

for ($i = 0; $i < $count; $i++) {
$arr[$i] = array_merge($arr1[$i], $arr2[$i]);
}

回答5:

可以查看下PHP手册的数组函数详解。array_merge,array_merge_recursive