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 相关文章推荐
PHP5常用函数列表(分享)
Jun 07 PHP
php页面函数设置超时限制的方法
Dec 01 PHP
分享十款最出色的PHP安全开发库中文详细介绍
Mar 22 PHP
php返回相对时间(如:20分钟前,3天前)的方法
Apr 14 PHP
PHP直接修改表内容DataGrid功能实现代码
Sep 24 PHP
WordPress开发中的get_post_custom()函数使用解析
Jan 04 PHP
php中foreach结合curl实现多线程的方法分析
Sep 22 PHP
PHP标准类(stdclass)用法示例
Sep 28 PHP
PHP性能分析工具xhprof的安装使用与注意事项
Dec 19 PHP
win10 apache配置虚拟主机后localhost无法使用的解决方法
Jan 27 PHP
PHP实现浏览器格式化显示XML的方法示例
Jan 22 PHP
PHP convert_cyr_string()函数讲解
Feb 13 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框架的优缺点对比分析
2014/12/25 PHP
PHP贪婪算法解决0-1背包问题实例分析
2015/03/23 PHP
PHP 搜索查询功能实现
2016/11/29 PHP
基于JQuery的浮动DIV显示提示信息并自动隐藏
2011/02/11 Javascript
对象无length属性时IE6/IE7中无法将其转换成伪数组(ArrayLike)
2011/07/31 Javascript
修改js Calendar日历控件 兼容IE9/谷歌/火狐
2013/01/04 Javascript
JS网页播放声音实现代码兼容各种浏览器
2013/09/22 Javascript
JS与C#编码解码
2013/12/03 Javascript
c#程序员对TypeScript的认识过程
2015/06/19 Javascript
jQuery基于toggle实现click触发DIV的显示与隐藏问题分析
2016/06/12 Javascript
jQuery Ajax全解析
2017/02/13 Javascript
微信小程序动态添加分享数据
2017/06/14 Javascript
js传递数组参数到后台controller的方法
2018/03/29 Javascript
通过封装scroll.js 获取滚动条的值
2018/07/13 Javascript
vue多级复杂列表展开/折叠及全选/分组全选实现
2018/11/05 Javascript
基于Vue插入视频的2种方法小结
2019/04/02 Javascript
微信小程序实现搜索框功能及踩过的坑
2020/06/19 Javascript
python实现简单的计时器功能函数
2015/03/14 Python
Python数据结构之栈、队列的实现代码分享
2017/12/04 Python
分享Pycharm中一些不为人知的技巧
2018/04/03 Python
用Python实现数据的透视表的方法
2018/11/16 Python
Django框架文件上传与自定义图片上传路径、上传文件名操作分析
2019/05/10 Python
python 五子棋如何获得鼠标点击坐标
2019/11/04 Python
python使用HTMLTestRunner导出饼图分析报告的方法
2019/12/30 Python
Python3如何在Windows和Linux上打包
2020/02/25 Python
10个示例带你掌握python中的元组
2020/11/23 Python
使用CSS3实现多列布局与多背景的技巧
2016/02/29 HTML / CSS
HTML5标签嵌套规则详解【必看】
2016/04/26 HTML / CSS
印度首选时尚目的地:Reliance Trends
2018/01/17 全球购物
BookOutlet加拿大:在网上书店购买廉价折扣图书和小说
2018/10/05 全球购物
德国专业木制品经销商:Holz-Direkt24
2019/12/26 全球购物
夫妻分居协议书范本
2014/11/28 职场文书
小学生纪律委员竞选稿
2015/11/19 职场文书
2016年学校安全教育月活动总结
2016/04/06 职场文书
go 实现简易端口扫描的示例
2021/05/22 Golang
纯html+css实现打字效果
2021/08/02 HTML / CSS