array_unique 去重复
unset()  删除

解决方案 »

  1.   

    $a=array(array('a'=>'1',b=>'d'),array('a'=>'1','b'=>'2'));
    $b=array();
    foreach($a as $aa){
    foreach($aa as $key=>$value){
    $b[$key]=$value;
    }
    }
    var_export($b);//array ( 'a' => '1', 'b' => '2', )
      

  2.   


    $a=array(array('a'=>'1',b=>'d'),array('a'=>'2','b'=>'2'));
    $b=array();
    foreach($a as $aa){
        foreach($aa as $key=>$value){
            $b[$key]=$value;
        }
    }
    var_export($b);//array ( 'a' => '2', 'b' => '2', )显然是错误的
      

  3.   

    这样才是正确的function array_distinct($ar, $tag) {
      $r = array();
      foreach($ar as $k=>$v) {
        $r[$k] = $v[$tag];
      }
      $t = array_unique($r);
      $r = array();
      foreach($t as $k=>$v) {
        $r[$k] = $ar[$k];
      }
      return $r;
    }print_r(array_distinct($a, 'a'));