我有两个数组,我想将它们合并到一个数组中。我已添加了两个数组以及所需的输出。
数组1:
Array
(
[0] => Array
(
[0] => b561d2e627efd2
[1] => d561d2e627f0cc
[2] => f561d2e627f17a
[3] => g561d2e627f1d1
)
[1] => Array
(
[0] => b561d2e627f632
[1] => d561d2e627f71f
[2] => f561d2e627f7d1
[3] => g561d2e627f823
)
)
ARRAY2:
Array
(
[0] => Array
(
[0] => c561d2e627f378
[1] => e561d2e627f425
[2] => b561d2e627efd2
)
[1] => Array
(
[0] => c561d2e627f9ee
[1] => e561d2e627fa78
[2] => b561d2e627f632
)
)
必需输出:
Array
(
[0] => Array
(
[0] => b561d2e627efd2
[1] => d561d2e627f0cc
[2] => f561d2e627f17a
[3] => g561d2e627f1d1
[4] => c561d2e627f378
[5] => e561d2e627f425
[6] => b561d2e627efd2
)
[1] => Array
(
[0] => b561d2e627f632
[1] => d561d2e627f71f
[2] => f561d2e627f7d1
[3] => g561d2e627f823
[4] => c561d2e627f9ee
[5] => e561d2e627fa78
[6] => b561d2e627f632
)
)
答案 0 :(得分:2)
简单。迭代你的第一个数组,获取当前密钥,使用该密钥获取第二个数组的块,使用array_merge
合并它们,然后将它们推送到一个新数组。执行以下操作:
$arr1 = array(
array("one", "two", "three"),
array("ten", "eleven", "twelve")
);
$arr2 = array(
array("four", "five", "six"),
array("thirteen", "fourteen", "fifteen")
);
foreach ($arr1 as $k => $arr1_chunk) {
$arr2_chunk = $arr2[$k];
$final[] = array_merge($arr1_chunk, $arr2_chunk);
}
var_dump($final);
<强>结果:强>
array (size=2)
0 =>
array (size=6)
0 => string 'one' (length=3)
1 => string 'two' (length=3)
2 => string 'three' (length=5)
3 => string 'four' (length=4)
4 => string 'five' (length=4)
5 => string 'six' (length=3)
1 =>
array (size=6)
0 => string 'ten' (length=3)
1 => string 'eleven' (length=6)
2 => string 'twelve' (length=6)
3 => string 'thirteen' (length=8)
4 => string 'fourteen' (length=8)
5 => string 'fifteen' (length=7)
答案 1 :(得分:0)
你不建议任何需要处理重复值,并且两个数组似乎具有相同数量的第一级元素,因此只需将数组2的内容推送到array1就可以完成这项工作,使用一个简单的嵌套循环:
foreach($array1 as $k=>$v){
foreach($array2[$k] as $val){
$array1[$k][] = $val;
}
}
答案 2 :(得分:-2)
您可以使用array_merge来“压扁”这些数组。
以下是在上面引用的示例中它如何工作,假设第一个数组被称为$ array1而第二个数组被称为array2
$new_array = array_merge($array1[0], $array1[1]);
$new_array2 = array_merge($array2[0], $array2[1]);
print_r($new_array);
print_r($new_array2);