需要修改的数组Array
(
    [0] => Array
        (
            [car_brand] => 宝马
            [car_type] => X-6
        )
 
    [1] => Array
        (
            [car_brand] => 宝马
            [car_type] => X-5
        )
 
    [2] => Array
        (
            [car_brand] => 宝马
            [car_type] => X-7
        )
 
    [3] => Array
        (
            [car_brand] => 宝马
            [car_type] => X-7
        )
 
    [4] => Array
        (
            [car_brand] => 奔驰
            [car_type] => S300
        )
 
    [5] => Array
        (
            [car_brand] => 奔驰
            [car_type] => S600
        )
 
)
想修改成如下:  Array
(
    [0] => Array
        (
            [car_brand] => 宝马
            [car_type] => Array(
                   [0]=>X-6
                   [1]=>X-5
                   [2]=>X-7
            )
        )
 
    [1] => Array
        (
            [car_brand] => 奔驰
            [car_type] => Array(
                    [0]=>S300
                    [1]=>S600
            )
 
)

解决方案 »

  1.   

    foreach($ar as $v) {
      if($out[$v['car_brand']])
        $out[$v['car_brand']] = array(
          'car_brand' => $v['car_brand'],
          'car_type' => array_unique(array_merge($out[$v['car_brand']]['car_type'], array($v['car_type'])))
        );
      else
        $out[$v['car_brand']] = array(
          'car_brand' => $v['car_brand'],
          'car_type' => array($v['car_type'])
        );
    }print_r(array_values($out));Array
    (
        [0] => Array
            (
                [car_brand] => 宝马
                [car_type] => Array
                    (
                        [0] => X-6
                        [1] => X-5
                        [2] => X-7
                    )        )    [1] => Array
            (
                [car_brand] => 奔驰
                [car_type] => Array
                    (
                        [0] => S300
                        [1] => S600
                    )        ))