Php 合并两个n维数组
我有两个n维数组,我想合并它们。但是,我已经回顾过,它只适用于合并二维数组。我试图完成同样的事情,除了两个n维数组 例如: 阵列1:Php 合并两个n维数组,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我有两个n维数组,我想合并它们。但是,我已经回顾过,它只适用于合并二维数组。我试图完成同样的事情,除了两个n维数组 例如: 阵列1: Array ( [''] => 'ID One' ['foo'] => Array ( [''] => 'ID Two' ['bar'] => 'ID Three' ) ) 阵列2: Array ( ['foo'] => Array ( ['bar']
Array (
[''] => 'ID One'
['foo'] => Array (
[''] => 'ID Two'
['bar'] => 'ID Three'
)
)
阵列2:
Array (
['foo'] => Array (
['bar'] => Array (
['baz'] => 'ID Four'
)
)
['bax'] => 'ID Five'
)
所需的数组结果:
Array (
[''] => 'ID One'
['foo'] => Array (
[''] => 'ID Two'
['bar'] => Array (
[''] => 'ID Three'
['baz'] => 'ID Four'
)
)
['bax'] => 'ID Five'
)
虽然这是我试图实现的一个演示,但当它被用于某些web应用程序时,它完全可能有10个,甚至15个嵌套数组。那么,如何合并数组1和数组2以形成所需的数组结果呢?很方便地做到了这一点
涵盖这些案例。方便地做到了这一点
涵盖案例。尝试或
如果这两个函数都不是您想要的,那么使用递归函数仍然很容易,例如:
function merge($a, $b) {
foreach ($b as $key => $value) {
if (!is_array($value) {
$a[$key] = $value;
} else if (isset($a[$key])) {
$a[$key] = merge($a[$key], $value);
} else {
$a[$key] = $value;
}
}
return $a;
}
$merged = merge($a, $b);
试试看
如果这两个函数都不是您想要的,那么使用递归函数仍然很容易,例如:
function merge($a, $b) {
foreach ($b as $key => $value) {
if (!is_array($value) {
$a[$key] = $value;
} else if (isset($a[$key])) {
$a[$key] = merge($a[$key], $value);
} else {
$a[$key] = $value;
}
}
return $a;
}
$merged = merge($a, $b);
你不能直接使用
array\u merge\u recursive
?好的,现在感觉很愚蠢…你不能直接使用array\u merge\u recursive
?好的,现在感觉很愚蠢。。。