$var1=array();
$myInputVar=array();
$var1['something']['secondary_something'][]="foo1";
$var1['something']['secondary_something'][]="foo2";
$var1['something']['secondary_something'][]="foo3";
$myInputVar['something']['secondary_something'][]="foo4";
$myInputVar['something']['secondary_something'][]="foo5";
function something(&$array_, $array_new) {
$array = array_merge($array_ , $array_new);
print_r($array);//for debugging
}
something($var1, $myInputVar);
现在打印:
Array ( [something] => Array ( [secondary_something] => Array ( [0] => foo1 [1] => foo2 [2] => foo3 ) ) )
当我期待:
Array ( [something] => Array ( [secondary_something] => Array ( [0] => foo1 [1] => foo2 [2] => foo3 [3] => foo4 [4] => foo5) ) )
我也尝试了:
$array = $array_ + $array_new;
仍然没有打印我的期望。 我有一种感觉,我误解了
array_merge()
功能的目的,这就是为什么它不返回结果我期望它会返回的结果。 任何想法?
array_merge_recursive()
,否则,您需要创建一个函数,该函数了解关联密钥并将适当地组合数组。
function something(&$array_, $array_new) {
$array = array_merge($array_ , $array_new);
return $array;
}
$var1['something']['secondary_something'] = something($var1['something']['secondary_something'], $myInputVar['something']['secondary_something']);