如果您发现标题具有误导性,对不起。我真的无法为这个问题想出一个好的标题。
我有两个数组,我在一个函数中合并在一起:
$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
}
现在该函数只是打印这个(这很好):
Array ( [something] => Array ( [secondary_something] => Array ( [0] => foo1 [1] => foo2 [2] => foo3 [3] => foo4 [4] => foo5 ) ) )
但我需要处理已合并到主数组的新数据。所以我需要工作$arr2
,但只有在它与$arr1
.
当我说我需要“处理新数据”时,var_export()
这是我需要对数组做的事情之一。
如果我只是做 a echo var_export($array_new,true);
,我会得到这个:
array ( 'something' => array ( 'secondary_something' => array ( 0 => 'foo4', 1 => 'foo5', ), ), )
当我需要这个时:
array ( 'something' => array ( 'secondary_something' => array ( 3 => 'foo4', 4 => 'foo5', ), ), )
^^ 请注意数组键是 3 和 4,而不是 1 和 2。因为它已与主数组 ( $arr1
) 合并。
希望你们明白我在做什么。
有任何想法吗?
谢谢xD