use*_*368 2 php arrays multidimensional-array
假设我有两个这样的数组:
$array1 = array('A' => array(
'B' => array(
'C' => array(
'D' => array(
'data' => array(
0 => array(
'id' => 1,
'name' => 'name 1'),
1 => array(
'id' => 2,
'name' => 'name 2')))))));
$array2 = array('A' => array(
'B' => array(
'C' => array(
'E' => array(
'data' => array(
0 => array(
'id' => 3,
'name' => 'name 3'),
1 => array(
'id' => 4,
'name' => 'name 4')))))));
Run Code Online (Sandbox Code Playgroud)
如您所见,这两个数组具有相同的密钥A,B和C,但之后密钥不同.如何将这两个数组合并为如下所示:
$final_array = array('A' => array(
'B' => array(
'C' => array(
'D' => array(
'data' => array(
0 => array(
'id' => 1,
'name' => 'name 1'),
1 => array(
'id' => 2,
'name' => 'name 2'))),
'E' => array(
'data' => array(
0 => array(
'id' => 3,
'name' => 'name 3'),
1 => array(
'id' => 4,
'name' => 'name 4')))))));
Run Code Online (Sandbox Code Playgroud)
如您所见,在这种情况下,我将数组合并到同一个包含两个不同键的数组中.换句话说,这里我将数组从第二个数组的键E开始放入索引为C的数组中.
任何帮助将不胜感激,谢谢
编辑:现在,如果我的数组($ array1,$ array2,$ array3,$ array4等...)是在foreach循环中生成的,如何将所有这些数组合并在一起(注意我不知道事先的数组)
http://php.net/manual/en/function.array-merge-recursive.php
print_r(array_merge_recursive($array1, $array2));
Run Code Online (Sandbox Code Playgroud)
这应该可以解决问题.
添加:
$collection=array();
foreach() {
$collection[]=$myArray; //here you add your array to collection
}
print_r(call_user_func_array('array_merge_recursive', $collection));
Run Code Online (Sandbox Code Playgroud)