使用array_merge_recursive将数组合并在一起,但之后只将新内容添加到数组中?

If you found the title misleading, sorry. I couldn't really come up with a good title for this question.

I have two arrays, that I'm merging together in a function:

$arr1['something']['secondary_something'][]="foo1";
$arr1['something']['secondary_something'][]="foo2";
$arr1['something']['secondary_something'][]="foo3";

$arr2['something']['secondary_something'][]="foo4";
$arr2['something']['secondary_something'][]="foo5";

function something($array_, $array_new) {

$array=array_merge_recursive($array_,$array_new); // to combine/merge both arrays

print_r($array);//debugg

}

Now that function simply prints this (which is all good):

Array ( [something] => Array ( [secondary_something] => Array ( [0] => foo1 [1] => foo2 [2] => foo3 [3] => foo4 [4] => foo5 ) ) )

But I need to work with the new data, that has been merged to the primary array. So I need to work $arr2, but only once it has been merged with $arr1.

When I say I need to "work with the new data", var_export() is one of the things I need to do with the array.

If I simply do a echo var_export($array_new,true);, I get this:

array ( 'something' => array ( 'secondary_something' => array ( 0 => 'foo4', 1 => 'foo5', ), ), )

When I need this:

array ( 'something' => array ( 'secondary_something' => array ( 3 => 'foo4', 4 => 'foo5', ), ), )

^^ Notice how the array keys are 3 and 4, not 1 and 2. Because it has been merged with the primary array ($arr1).

Hope you guys understand what I'm trying to do.

Any ideas?

Thanks xD

查看全部
douxie2029
douxie2029
2012/04/20 13:11
  • php
  • arrays
  • 点赞
  • 收藏
  • 回答
    私信
满意答案
查看全部

1个回复