Php 组合两个数组的函数?
如何从a和b中获取数组cPhp 组合两个数组的函数?,php,Php,如何从a和b中获取数组c $arr_a = array( 'foo' => array( 'bar' => 1, 'baz' => 2, ), 'lorem' => array( 'ipsum' => array( 'dolor' => 'sit', ), ), 'mollis' => 'ultrices', ); 第二个
$arr_a = array(
'foo' => array(
'bar' => 1,
'baz' => 2,
),
'lorem' => array(
'ipsum' => array(
'dolor' => 'sit',
),
),
'mollis' => 'ultrices',
);
第二个数组如下所示:
$arr_b = array(
'foo' => array(
'ante' => 'urna'
),
'lorem' => array(
'ipsum' => array(
'dolor' => 'turpis'
),
),
);
结果数组应为:
$arr_c = array(
'foo' => array(
'bar' => 1,
'baz' => 2,
'ante' => 'urna',
),
'lorem' => array(
'ipsum' => array(
'dolor' => 'turpis',
),
),
'mollis' => 'ultrices',
);
我尝试了array\u merge
,但没有得到理想的结果。。。。
干杯
给了我一个不需要的数组-这里有点棘手:
Array
(
[foo] => Array
(
[bar] => 1
[baz] => 2
[ante] => urna
)
[lorem] => Array
(
[ipsum] => Array
(
[dolor] => Array
(
[0] => sit // unwanted :(
[1] => turpis
)
)
)
[mollis] => ultrices
)
我相信你正在寻找功能 或: 这似乎很有希望 认真地进行谷歌搜索。解决方案很简单(请参阅):
$arr_c = array_merge_recursive($arr_a, $arr_b);
请参阅有关的更多文档。尝试类似的操作:
<?php
foreach($arr_b AS $key=>$val)
{
if(array_key_exists($arr_a, $key)) $arr_a[$key][] = $val;
}
?>
编辑:正如我看到的,我有点晚了,不知道array\u merge\u recursive:p你能展示一下你的尝试吗?你读过了吗?谢谢-它可以工作,但它不能像示例中那样创建数组C-但我想这是最好的答案array C不应该有[0]=>sit@easyrider:好的,所以,把我的答案当作你原来问题的答案。问题的新版本不是简单的合并案例,您可能应该创建自己的函数。
$arr_c = array_merge($arr_a, $arr_b);
$arr_c = array_merge_recursive($arr_a, $arr_b);
$arr_c = array_merge_recursive($arr_a, $arr_b);
$arr_c = array_merge_recursive($arr_a, $arr_b);
<?php
foreach($arr_b AS $key=>$val)
{
if(array_key_exists($arr_a, $key)) $arr_a[$key][] = $val;
}
?>