php入门到就业线上直播课:进入学习Apipost = Postman + Swagger + Mock + Jmeter 超好用的API调试工具:点击使用

本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。

php怎么去除重复值?


(资料图)

php去除数组中重复值,并返回结果!

array_unique(array) 只能处理value只有单个的数组。

去除有多个value数组,可以使用如下函数实现:

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

有如下数组:

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

调用函数后显示:

Array(    [0] => Array        (            [name] => james            [age] => 30        )    [1] => Array        (            [name] => susu            [age] => 26        )    [new] => Array        (            [name] => kube            [age] => 37        )    [list] => Array        (            [name] => kube            [age] => 27        ))

测试Demo如下:

<?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,                     ),            );  printf("原来的数组:<br><pre>");   //输出原来的数组  print_r($arr);  echo "</pre><br/>";   function more_array_unique($arr=array()){      foreach($arr[0] as $k => $v){          $arr_inner_key[]= $k;   //先把二维数组中的内层数组的键值记录在在一维数组中      }      foreach ($arr as $k => $v){          $v =join(",",$v);    //降维 用implode()也行          $temp[$k] =$v;      //保留原来的键值 $temp[]即为不保留原来键值      }      $temp =array_unique($temp);    //去重:去掉重复的字符串      foreach ($temp as $k => $v){          $a = explode(",",$v);   //拆分后的重组 如:Array( [0] => james [1] => 30 )          $arr_after[$k]= array_combine($arr_inner_key,$a);  //将原来的键与值重新合并      }      return $arr_after;  }      $arr_new = more_array_unique($arr);  //调用去重函数      printf("去除重复元素后的数组:<br>");          echo "<pre>";    print_r($arr_new);      echo "</pre><br/>";  ?>

推荐学习:《PHP视频教程》

以上就是php怎么去除重复值的详细内容,更多请关注php中文网其它相关文章!

推荐内容