首页 > 编程 > PHP > 正文

php二维数组如何去重?(代码示例)

2020-03-22 17:18:51
字体:
来源:转载
供稿:网友
本篇文章给大家带来的内容是介绍php二维数组如何去重?(代码示例),让大家了解二维数组去重的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。

前言:php一维数组去重很简单,直接array_unique($arr)即可,但是二维数组是如何去重的?

下面我们就通过简单的代码示例来看看二维数组去重的方法:

代码示例:

/* * 二维数组去重 * 注意:二维数组中的元素个数必须一致,且键值也得一致,否则无意义 * @param array $arr * @return array $arr_afterhtml' target='_blank'>public function array_unique_2DArr($arr=array()){ if(empty($arr) || !is_array($arr)){ return array(); /*******处理二维数组个数不一致问题 start 其他项目用可以去掉*******/ //判断数组中二维数组是否包含uniqueId,存在的话需要处理其他的日志信息,全部加上uniqueId,且uniqueId值必须相同 $hasUniqueId = false; foreach($arr as $val){ if(array_key_exists( uniqueId , $val)){ $hasUniqueId = true; break; //如果$arr中的二维数组中uniqueId存在,则其他也增加 if($hasUniqueId){ foreach($arr as $_k= $_val){ if(!array_key_exists( uniqueId , $_val)){ //在$_val中增加unique,只是为了和其他的带有uniqueId键值的数组元素个数保持一致  $_val_keys = array_keys($_val); $_val_vals = array_values($_val); array_unshift($_val_keys, uniqueId  array_unshift($_val_vals, 0_0  $arr[$_k] = array_combine($_val_keys, $_val_vals); /********处理二维数组个数不一致问题 end********/ foreach($arr[0] as $k = $v){  $arr_inner_key[]= $k; //先把二维数组中的内层数组的键值记录在在一维数组中  foreach ($arr as $k = $v){  $v =join( ^ ,$v); //降维 用implode()也行 ,注意,拆分时不能用逗号,用其他的不常用符号,逗号可能会由于数据本身含有逗号导致失败 $temp[$k] =$v; //保留原来的键值  $temp =array_unique($temp); //去重:去掉重复的字符串 foreach ($temp as $k = $v){  $a = explode( ^ ,$v); //拆分后的重组  $arr_after[$k]= array_combine($arr_inner_key,$a); //将原来的键与值重新合并  return $arr_after; }

总结:以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多相关视频教程推荐:php教程

以上就是php二维数组如何去重?(代码示例)的详细内容,PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表