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中的实现trim函数代码
Mar 19 PHP
使用php发送有附件的电子邮件-(PHPMailer使用的实例分析)
Apr 26 PHP
深入php常用函数的使用汇总
Jun 08 PHP
基于命令行执行带参数的php脚本并取得参数的方法
Jan 25 PHP
PHP与SQL语句常用大全
Dec 10 PHP
php+resumablejs实现的分块上传 断点续传功能示例
Apr 18 PHP
在php7中MongoDB实现模糊查询的方法详解
May 03 PHP
PHP读取Excel类文件
May 15 PHP
PHP迭代器和迭代的实现与使用方法分析
Apr 19 PHP
Yii2框架实现利用mpdf创建pdf文件功能示例
Feb 08 PHP
PHP设计模式之数据访问对象模式(DAO)原理与用法实例分析
Dec 12 PHP
PHP Web表单生成器案例分析
Jun 02 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中长文章分页显示实现代码
2012/09/29 PHP
PHP正确解析UTF-8字符串技巧应用
2012/11/07 PHP
常用的javascript function代码
2008/05/23 Javascript
Iframe 自适应高度并实时监控高度变化的js代码
2009/10/30 Javascript
JS打开图片另存为对话框实现代码
2012/12/26 Javascript
javascript时间函数大全
2014/06/30 Javascript
jquery读取xml文件实现省市县三级联动的方法
2015/05/29 Javascript
JS+CSS实现六级网站导航主菜单效果
2015/09/28 Javascript
JavaScript 对象深入学习总结(经典)
2015/09/29 Javascript
基于JavaScript代码实现微信扫一扫下载APP
2015/12/30 Javascript
详解Javacript和AngularJS中的Promises
2016/02/09 Javascript
JS简单获取及显示当前时间的方法
2016/08/03 Javascript
vue.js 底部导航栏 一级路由显示 子路由不显示的解决方法
2018/03/09 Javascript
Vue父子组件之间的通信实例详解
2018/09/28 Javascript
nodejs中函数的调用实例详解
2018/10/31 NodeJs
详解IOS微信上Vue单页面应用JSSDK签名失败解决方案
2018/11/14 Javascript
jQuery实现经典的网页3D轮播图封装功能【附源码下载】
2019/02/15 jQuery
layui switch 开关监听 弹出确定状态转换的例子
2019/09/21 Javascript
JS使用正则表达式判断输入框失去焦点事件
2019/10/16 Javascript
微信小程序 获取手机号 JavaScript解密示例代码详解
2020/05/14 Javascript
在vue中使用cookie记住用户上次选择的实例(本次例子中为下拉框)
2020/09/11 Javascript
python单链表实现代码实例
2013/11/21 Python
Python 执行字符串表达式函数(eval exec execfile)
2014/08/11 Python
基于python 爬虫爬到含空格的url的处理方法
2018/05/11 Python
python3在同一行内输入n个数并用列表保存的例子
2019/07/20 Python
python-tornado的接口用swagger进行包装的实例
2019/08/29 Python
tensorflow tf.train.batch之数据批量读取方式
2020/01/20 Python
Python模块相关知识点小结
2020/03/09 Python
Hotels.com台湾:饭店订房网
2017/09/06 全球购物
英国一家集合了众多有才华设计师品牌的奢侈店:Wolf & Badger
2018/04/18 全球购物
Interrail法国:乘火车探索欧洲,最受欢迎的欧洲铁路通票
2019/08/27 全球购物
初一体育教学反思
2014/01/29 职场文书
贵阳市党的群众路线教育实践活动党(工)委领导班子整改方案
2014/10/26 职场文书
护士长2014年终工作总结
2014/11/11 职场文书
JS代码编译器Monaco使用方法
2021/06/11 Javascript
MySQL数据库实验之 触发器和存储过程
2022/06/21 MySQL