数组一:
$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

解决方案 »

  1.   

    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);
      

  2.   

    $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/',
      ),
    );
    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));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/
            ))