php去除二维数组的重复项方法


Posted in PHP onNovember 03, 2015

php中去一维数组的重复项可以通过php内置函数array_unique(),但是php的array_unique函数对多维数组并不适用,怎么才能去除二维数组中的重复项呢?

以下给大家提供一个函数。

//二维数组去掉重复值
function unique_arr($array2D,$stkeep=false,$ndformat=true){
  $joinstr='+++++';
  // 判断是否保留一级数组键 (一级数组键可以为非数字)
  if($stkeep) $stArr = array_keys($array2D);
  // 判断是否保留二级数组键 (所有二级数组键必须相同)
  if($ndformat) $ndArr = array_keys(end($array2D));
  //降维,也可以用implode,将一维数组转换为用逗号连接的字符串
  foreach ($array2D as $v){
    $v = join($joinstr,$v);
    $temp[] = $v;
  }
  //去掉重复的字符串,也就是重复的一维数组
  $temp = array_unique($temp);
  //再将拆开的数组重新组装
  foreach ($temp as $k => $v){
    if($stkeep) $k = $stArr[$k];
    if($ndformat){
      $tempArr = explode($joinstr,$v);
      foreach($tempArr as $ndkey => $ndval) $output[$k][$ndArr[$ndkey]] = $ndval;
    }
    else $output[$k] = explode($joinstr,$v);
  }
  return $output;
}

希望对大家学习php程序设计有所帮助。

PHP 相关文章推荐
php目录操作函数之获取目录与文件的类型
Dec 29 PHP
php自动加载机制的深入分析
Jun 08 PHP
PHP+APACHE实现网址伪静态
Feb 22 PHP
以文件形式缓存php变量的方法
Jun 26 PHP
详解WordPress中过滤链接与过滤SQL语句的方法
Dec 18 PHP
将PHP程序中返回的JSON格式数据用gzip压缩输出的方法
Mar 03 PHP
详解PHP的Yii框架中的Controller控制器
Mar 29 PHP
利用php-cli和任务计划实现刷新token功能的方法
May 03 PHP
PHP后台实现微信小程序登录
Aug 03 PHP
PHP常用的类封装小结【4个工具类】
Jun 28 PHP
浅析PHP反序列化中过滤函数使用不当导致的对象注入问题
Feb 15 PHP
php中yii框架实例用法
Dec 22 PHP
php在数据库抽象层简单使用PDO的方法
Nov 03 #PHP
smarty简单应用实例
Nov 03 #PHP
详解PHP+AJAX无刷新分页实现方法
Nov 03 #PHP
php获取远程文件的内容和大小
Nov 03 #PHP
php获取远程文件内容的函数
Nov 02 #PHP
php+ajax实现无刷新数据分页的办法
Nov 02 #PHP
PHP中Http协议post请求参数
Nov 02 #PHP
You might like
php将gd生成的图片缓存到memcache的小例子
2013/06/05 PHP
javaScript checkbox 全选/反选及批量删除
2010/04/28 Javascript
js数据验证集合、js email验证、js url验证、js长度验证、js数字验证等简单封装
2010/05/15 Javascript
中国地区三级联动下拉菜单效果分析
2012/11/15 Javascript
jQuery oLoader实现的加载图片和页面效果
2015/03/14 Javascript
javascript实现图片延迟加载方法汇总(三种方法)
2015/08/27 Javascript
JQuery实现网页右侧随动广告特效
2016/01/17 Javascript
基于javascript制作微信聊天面板
2020/08/09 Javascript
两种js监听滚轮事件的实现方法
2016/05/13 Javascript
深入理解JavaScript 函数
2016/06/06 Javascript
JS模拟bootstrap下拉菜单效果实例
2016/06/17 Javascript
基于JavaScript实现鼠标向下滑动加载div的代码
2016/08/31 Javascript
jQuery中select与datalist制作下拉菜单时的区别浅析
2016/12/30 Javascript
JS简单验证上传文件类型的方法
2017/04/17 Javascript
浅谈React和Redux的连接react-redux
2017/12/04 Javascript
JQuery通过后台获取数据遍历到前台的方法
2018/08/13 jQuery
微信小程序 slot踩坑的解决
2019/04/01 Javascript
webpack常用构建优化策略小结
2019/11/21 Javascript
实用的 vue tags 创建缓存导航的过程实现
2020/12/03 Vue.js
python中pandas.DataFrame对行与列求和及添加新行与列示例
2017/03/12 Python
python基础while循环及if判断的实例讲解
2017/08/25 Python
使用实现XlsxWriter创建Excel文件并编辑
2018/05/04 Python
解决python爬虫中有中文的url问题
2018/05/11 Python
python判断一个数是否能被另一个整数整除的实例
2018/12/12 Python
对Python中实现两个数的值交换的集中方法详解
2019/01/11 Python
java中的控制结构(if,循环)详解
2019/06/26 Python
Python获取时间戳代码实例
2019/09/24 Python
基于python使用tibco ems代码实例
2019/12/20 Python
HTML5+WebSocket实现多文件同时上传的实例
2016/12/29 HTML / CSS
JD Sports比利时官网:英国领先的运动鞋和运动服饰零售商
2018/10/10 全球购物
李维斯牛仔裤英国官方网站:Levi’s英国
2019/10/10 全球购物
New Balance比利时官方网站:购买鞋子和服装
2021/01/15 全球购物
幼儿园端午节活动总结
2015/05/05 职场文书
车辆管理制度范本
2015/08/05 职场文书
mongodb清除连接和日志的正确方法分享
2021/09/15 MongoDB
SpringBoot系列之MongoDB Aggregations用法详解
2022/02/12 MongoDB