如果我有以下数组
arry1 = array(
101 => array(
'title1' => 'data',
'title2' => 'data',
'title3' => 'data'
),
102 => array(
'title1' => 'data',
'title2' => 'data',
'title3' => 'data'
),
.
.
.
);
arry2 = array(
101 => array(
'title4' => 'data',
'title5' => 'data',
'title6' => 'data'
),
102 => array(
'title4' => 'data',
'title5' => 'data',
'title6' => 'data'
),
.
.
.
);
我希望将它们改成
arry3 = array(
101 => array(
'title1' => 'data',
'title2' => 'data',
'title3' => 'data',
'title4' => 'data',
'title5' => 'data',
'title6' => 'data'
),
102 => array(
'title1' => 'data',
'title2' => 'data',
'title3' => 'data',
'title4' => 'data',
'title5' => 'data',
'title6' => 'data'
),
.
.
.
);
php arrays是否有一个简单的功能来执行此操作?如果没有,您认为最有效的方法是什么?
感谢您的帮助,
大都市
EDITED
对不起,我将数组更新为实际应该的样式.... array_merge_recursive给了我以下内容,
arry3 = array(
0 => array(
'title1' => 'data',
'title2' => 'data',
'title3' => 'data'
),
1 => array(
'title4' => 'data',
'title5' => 'data',
'title6' => 'data'
),
.
.
.
);
我需要101和102来坚持,我需要数据都在同一个较低级别的数组....
答案 0 :(得分:2)
我假设您要将后一个数组添加到第一个数组中。因此,use this:
array_merge_recursive(array1, array2);
......它会完全按照你的意愿行事。
修改强>
看来,我的上述解决方案并不完全正确,请使用:
<?
function array_merge_subarrays(array $array1, array $array2) {
$resultArray = array();
// The foreach instead of a plain for is to keep the specific values of the keys
foreach ($array1 as $key => $subarray) {
$resultArray[$key] = array_merge($subarray, $array2[$key]);
}
return $resultArray;
}
$arr1 = array(
101 => array(
'title1' => 'data',
'title2' => 'data',
'title3' => 'data'
),
102 => array(
'title1' => 'data',
'title2' => 'data',
'title3' => 'data'
)
);
$arr2 = array(
101 => array(
'title4' => 'data',
'title5' => 'data',
'title6' => 'data'
),
102 => array(
'title4' => 'data',
'title5' => 'data',
'title6' => 'data'
)
);
print_r(array_merge_subarrays($arr1, $arr2));
/*
OUTPUTS:
Array (
[101] => Array (
[title1] => data
[title2] => data
[title3] => data
[title4] => data
[title5] => data
[title6] => data
)
[102] => Array (
[title1] => data
[title2] => data
[title3] => data
[title4] => data
[title5] => data
[title6] => data
)
)
*/
?>