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的access操作类
Apr 09 PHP
PHP文件注释标记及规范小结
Apr 01 PHP
PHP中__get()和__set()的用法实例详解
Jun 04 PHP
is_uploaded_file函数引发的不能上传文件问题
Oct 29 PHP
叫你如何修改Nginx与PHP的文件上传大小限制
Sep 10 PHP
php+html5基于websocket实现聊天室的方法
Jul 17 PHP
PHP加密解密实例分析
Dec 25 PHP
php中二分法查找算法实例分析
Sep 22 PHP
php获取excel文件数据
Apr 21 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
Sep 16 PHP
PHP判断是否微信访问的方法示例
Mar 27 PHP
php源码的使用方法讲解
Sep 26 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+DBM的同学录程序(1)
2006/10/09 PHP
APACHE的AcceptPathInfo指令使用介绍
2013/01/18 PHP
PHP获取文件夹大小函数用法实例
2015/07/01 PHP
PHP类的特性实例分析
2016/09/28 PHP
phpmyadmin下载、安装、配置教程
2017/05/16 PHP
Javascript事件热键兼容ie|firefox
2010/12/30 Javascript
基于jQuery的简单的列表导航菜单
2011/03/02 Javascript
jquery 动态创建元素的方式介绍及应用
2013/04/21 Javascript
jQuery简单实现遍历数组的方法
2015/04/14 Javascript
基于angular-utils-ui-breadcrumbs使用心得(分享)
2017/11/03 Javascript
实现高性能javascript的注意事项
2019/05/27 Javascript
vue 实现cli3.0中使用proxy进行代理转发
2019/10/30 Javascript
使用JS实现动态时钟
2020/03/12 Javascript
[11:12]2018DOTA2国际邀请赛寻真——绿色长城OpTic
2018/08/10 DOTA
在Windows服务器下用Apache和mod_wsgi配置Python应用的教程
2015/05/06 Python
总结网络IO模型与select模型的Python实例讲解
2016/06/27 Python
python批量制作雷达图的实现方法
2016/07/26 Python
一张图带我们入门Python基础教程
2017/02/05 Python
Python使用当前时间、随机数产生一个唯一数字的方法
2017/09/18 Python
使用已经得到的keras模型识别自己手写的数字方式
2020/06/29 Python
Python代码注释规范代码实例解析
2020/08/14 Python
使用python画出逻辑斯蒂映射(logistic map)中的分叉图案例
2020/12/11 Python
Django用内置方法实现简单搜索功能的方法
2020/12/18 Python
python openpyxl模块的使用详解
2021/02/25 Python
HTML5中的nav标签学习笔记
2016/06/24 HTML / CSS
全球最大的游戏市场:G2A
2018/07/05 全球购物
Farfetch巴西官网:奢侈品牌时尚购物平台
2020/10/19 全球购物
怎样建立和理解非常复杂的声明?例如定义一个包含N 个指向返回 指向字符的指针的函数的指针的数组?
2013/03/19 面试题
学习心得体会
2014/01/01 职场文书
教师远程培训感言
2014/03/06 职场文书
关爱女孩行动实施方案
2014/03/13 职场文书
婚前财产公证书
2014/04/10 职场文书
档案保密承诺书
2014/06/03 职场文书
学生偷窃检讨书
2014/09/25 职场文书
2015秋季幼儿园开学寄语
2015/03/25 职场文书
新娘婚礼答谢词
2015/09/29 职场文书