$arr = array(
        array('a'=>1,'c'=>1),
        array('a'=>1,'c'=>2),
        array('a'=>2,'c'=>3),
        array('a'=>2,'c'=>4),
        array('a'=>3,'c'=>4)
);

$arr_new = array(
        array('a'=>1,'c'=>'1,2'),
        array('a'=>2,'c'=>'3,4'),
        array('a'=>3,'c'=>'4')
);如果数组$arr中的'a'相同,则把'c'的值拼接成字符串,最后转换成$arr_new这个样子PHP

解决方案 »

  1.   

    $arr = array(
      array('a'=>1,'c'=>1),
      array('a'=>1,'c'=>2),
      array('a'=>2,'c'=>3),
      array('a'=>2,'c'=>4),
      array('a'=>3,'c'=>4)
    );$arr_new = array();
    foreach($arr as $r) {
      if(isset($arr_new[$r['a']])) $arr_new[$r['a']]['c'] .= ',' . $r['c'];
      else $arr_new[$r['a']] = $r;
    }
    print_r($arr_new);Array
    (
        [1] => Array
            (
                [a] => 1
                [c] => 1,2
            )    [2] => Array
            (
                [a] => 2
                [c] => 3,4
            )    [3] => Array
            (
                [a] => 3
                [c] => 4
            ))要善于指挥计算机为你做事