我有两个数组:
$array1 = array(299945 => [13654 => [9917 => [0 => '0', 9 => '9', 33 => '33']]]);
$array2 = array(13654 => [9940 => [0 => '0']]);
每个都是从创建这些结果的不同DBQueries创建的。
我知道要从$array2
获取'9940'密钥并将其推入$array1
,以便它将成为13654
数组中的另一个元素。因此,最终结果将是:
$array1 = array(299945 =>[13654 => [9917 => [0 => '0', 9 => '9', 33 => '33'], 9940 => [0 => '0']]])
我该怎么做?
答案 0 :(得分:1)
有几种方法可以做到这一点,这是使用array_replace_recursive()
的方法:
<?php
header('Content-type: text/plain');
$array1 = array(299945 => [13654 => [9917 => [0 => '0', 9 => '9', 33 => '33']]]);
$array2 = array(13654 => [9940 => [0 => '0']]);
$array3 = array_replace_recursive($array1, [key($array1) => $array2]);
print_r($array3);
输出:
Array
(
[299945] => Array
(
[13654] => Array
(
[9917] => Array
(
[0] => 0
[9] => 9
[33] => 33
)
[9940] => Array
(
[0] => 0
)
)
)
)
答案 1 :(得分:0)
如果你只想要一个union of two arrays,那就没有多少了:
$array1 += $array2
您应该考虑使用重复键和类似问题的更复杂情况,因此我通常会发现array_merge
是将两个数组放在一起的更好工具。