php怎么实现两个数组合并
数组一:
$a_array = Array
(
[0] => Array
(
[plan_id] => 1
[ad_img_url] => http://www.adsload.com/assets/ad1.jpg
)
[1] => Array
(
[plan_id] => 2
[ad_img_url] => http://www.adsload.com/assets/ad2.jpg
)
[2] => Array
(
[plan_id] => 3
[ad_img_url] => http://www.adsload.com/assets/ad3.jpg
)
)
数组二:
$b_array = Array
(
[0] => Array
(
[plan_id] => 1
[ad_url] => http://www.baidu.com/
)
[1] => Array
(
[plan_id] => 2
[ad_url] => http://www.baidu.com/
)
[2] => Array
(
[plan_id] => 3
[ad_url] => http://www.baidu.com/
)
)
合并后:
$ressult_array = Array
(
[0] => Array
(
[plan_id] => 1
[ad_img_url] => http://www.adsload.com/assets/ad1.jpg
[ad_url] => http://www.baidu.com/
)
[1] => Array
(
[plan_id] => 2
[ad_img_url] => http://www.adsload.com/assets/ad2.jpg
[ad_url] => http://www.baidu.com/
)
[2] => Array
(
[plan_id] => 3
[ad_img_url] => http://www.adsload.com/assets/ad3.jpg
[ad_url] => http://www.baidu.com/
)
) PHP 数组合并 array
[解决办法]
foreach($b_array as $v){
$ar[$v['plan_id']]=$v['ad_url'];
}
foreach($a_array as &$v){
if($ar[$v['plan_id']]) $v['ad_url']=$ar[$v['plan_id']];
}
print_r($a_array);
[解决办法]
$a_array = array (Array
0 => array (
'plan_id' => '1',
'ad_img_url' => 'http://www.adsload.com/assets/ad1.jpg',
),
1 => array (
'plan_id' => '2',
'ad_img_url' => 'http://www.adsload.com/assets/ad2.jpg',
),
2 => array (
'plan_id' => '3',
'ad_img_url' => 'http://www.adsload.com/assets/ad3.jpg',
),
);
$b_array = array (
0 => array (
'plan_id' => '1',
'ad_url' => 'http://www.baidu.com/',
),
1 => array (
'plan_id' => '2',
'ad_url' => 'http://www.baidu.com/',
),
2 => array (
'plan_id' => '3',
'ad_url' => 'http://www.baidu.com/',
),
);
foreach($a_array as $item) $res[$item['plan_id']] = $item;
foreach($b_array as $item) {
if(isset($res[$item['plan_id']])) $res[$item['plan_id']] = array_merge($res[$item['plan_id']], $item);
else $res[$item['plan_id']] = $item;
}
print_r(array_values($res));
(
[0] => Array
(
[plan_id] => 1
[ad_img_url] => http://www.adsload.com/assets/ad1.jpg
[ad_url] => http://www.baidu.com/
)
[1] => Array
(
[plan_id] => 2
[ad_img_url] => http://www.adsload.com/assets/ad2.jpg
[ad_url] => http://www.baidu.com/
)
[2] => Array
(
[plan_id] => 3
[ad_img_url] => http://www.adsload.com/assets/ad3.jpg
[ad_url] => http://www.baidu.com/
)
)