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将向Java靠拢
Oct 09 PHP
解析PHP处理换行符的问题 \r\n
Jun 13 PHP
解析将多维数组转换为支持curl提交的一维数组格式
Jul 08 PHP
php防注入及开发安全详细解析
Aug 09 PHP
php数组去重复数据示例
Feb 25 PHP
百度地图API应用之获取用户的具体位置
Jun 10 PHP
PHP静态文件生成类实例
Nov 29 PHP
php遍历解析xml字符串的方法
May 05 PHP
PHP简单预防sql注入的方法
Sep 27 PHP
php curl 模拟登录并获取数据实例详解
Dec 22 PHP
laravel在中间件内生成参数并且传递到控制器中的2种姿势
Oct 15 PHP
关于PHP数组迭代器的使用方法实例
Nov 17 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
不支持fsockopen但支持culr环境下下ucenter与modoer通讯问题
2011/08/12 PHP
PHP的异常处理类Exception的使用及说明
2012/06/13 PHP
WordPress中is_singular()函数简介
2015/02/05 PHP
PHP设计模式之委托模式定义与用法简单示例
2018/08/13 PHP
TNC vs BOOM BO3 第三场2.13
2021/03/10 DOTA
WEB页子窗口(showModalDialog和showModelessDialog)使用说明
2009/10/25 Javascript
基于jquery的多彩百分比 动态进度条 投票效果显示效果实现代码
2011/08/28 Javascript
Angular.Js中过滤器filter与自定义过滤器filter实例详解
2017/05/08 Javascript
angular框架实现全选与单选chekbox的自定义
2017/07/06 Javascript
Javascript(es2016) import和require用法和区别详解
2017/08/11 Javascript
Bootstrap实现翻页效果
2017/11/27 Javascript
layui内置模块layim发送图片添加加载动画的方法
2019/09/23 Javascript
Vue清除定时器setInterval优化方案分享
2020/07/21 Javascript
JS canvas实现画板和签字板功能
2021/02/23 Javascript
python改变日志(logging)存放位置的示例
2014/03/27 Python
python做量化投资系列之比特币初始配置
2018/01/23 Python
python中将一个全部为int的list 转化为str的list方法
2018/04/09 Python
django认证系统实现自定义权限管理的方法
2018/07/16 Python
python实现停车管理系统
2018/11/30 Python
使用Python实现毫秒级抢单功能
2019/06/06 Python
使用python去除图片白色像素的实例
2019/12/12 Python
简单了解python字符串前面加r,u的含义
2019/12/26 Python
tensorflow的计算图总结
2020/01/12 Python
利用简洁的图片预加载组件提升html5移动页面的用户体验
2016/03/11 HTML / CSS
HTML5图片层叠的实现示例
2020/07/07 HTML / CSS
锐步英国官网:Reebok英国
2019/11/29 全球购物
Prototype是怎么扩展DOM的
2014/10/01 面试题
办公室前台岗位职责
2014/01/04 职场文书
银行开业庆典方案
2014/02/06 职场文书
2014年迎新年联欢会活动策划方案
2014/02/26 职场文书
读书伴我成长演讲稿
2014/05/07 职场文书
个人更名证明
2015/06/23 职场文书
2016年村党支部公开承诺书
2016/03/24 职场文书
盘点2020年适合农村地区创业的项目
2019/10/16 职场文书
tensorflow+k-means聚类简单实现猫狗图像分类的方法
2021/04/28 Python
详细了解MVC+proxy
2021/07/09 Java/Android