shanghaipc 发表于 2017-12-29 20:47:43

php将多个值的数组去除重复元素

<?php$arr = array('0'=>array('name'=>'james',  'age'=>30,
  ),
  '1'=>array(
  'name'=>'susu',
  'age'=>26,
  ),
  '2'=>array(
  'name'=>'james',
  'age'=>30,
  ),
  'new'=>array(
  'name'=>'kube',
  'age'=>37,
  ),
  'list'=>array(
  'name'=>'kube',
  'age'=>27,
  ),
  '435'=>array(
  'name'=>'susu',
  'age'=>26,
  ),
  '33'=>array(
  'name'=>'james',
  'age'=>30,
  ),
  );
  
("原来的数组:<br><pre>");   //输出原来的数组
  
($arr);
  
echo "</pre><br/>";
  

  

  

  
function more_array_unique($arr=array()){
  foreach($arr as $k => $v){
  $arr_inner_key[]= $k;   //先把二维数组中的内层数组的键值记录在在一维数组中
  
    }
  foreach ($arr as $k => $v){
  $v =(",",$v);    //降维 用implode()也行
  $temp[$k] =$v;      //保留原来的键值 $temp[]即为不保留原来键值
  
    }
  $temp =($temp);    //去重:去掉重复的字符串
  foreach ($temp as $k => $v){
  $a = (",",$v);   //拆分后的重组 如:Array( => james => 30 )
  $arr_after[$k]= ($arr_inner_key,$a);//将原来的键与值重新合并
  
    }
  return $arr_after;
  
}
  

  

  

  $arr_new = more_array_unique($arr);//调用去重函数
  ("去除重复元素后的数组:<br>");
  echo '<pre>';
  ($arr_new);
  echo "</pre><br/>";
  
?>
页: [1]
查看完整版本: php将多个值的数组去除重复元素