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 相关文章推荐
fleaphp下不确定的多条件查询的巧妙解决方法
Sep 11 PHP
PHP 文件缓存的性能测试
Apr 25 PHP
php中http_build_query 的一个问题
Mar 25 PHP
PHP对接微信公众平台消息接口开发流程教程
Mar 25 PHP
php中使用array_filter()函数过滤空数组的实现代码
Aug 19 PHP
php精确的统计在线人数的方法
Oct 21 PHP
PHP实现发送邮件的方法(基于简单邮件发送类)
Dec 17 PHP
PHP动态地创建属性和方法, 对象的复制, 对象的比较,加载指定的文件,自动加载类文件,命名空间
May 06 PHP
php写一个函数,实现扫描并打印出自定目录下(含子目录)所有jpg文件名
May 26 PHP
phpStudy配置多站点多域名方法及遇到的403错误解决方法
Oct 19 PHP
phpinfo无法显示的原因及解决办法
Feb 15 PHP
PHP如何解决微信文章图片防盗链
Dec 09 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
使用Apache的htaccess防止图片被盗链的解决方法
2013/04/27 PHP
js/ajax跨越访问-jsonp的原理和实例(javascript和jquery实现代码)
2012/12/27 Javascript
js控制表单奇偶行样式的简单方法
2013/07/31 Javascript
JavaScript通过元素的ID和name设置样式
2014/07/08 Javascript
JavaScript bold方法入门实例(把指定文字显示为粗体)
2014/10/17 Javascript
JS和css实现检测移动设备方向的变化并判断横竖屏幕
2015/05/25 Javascript
基于jquery实现页面滚动到底自动加载数据的功能
2015/12/19 Javascript
jQuery如何解决IE输入框不能输入的问题
2016/10/08 Javascript
微信小程序开发一键登录 获取session_key和openid实例
2016/11/23 Javascript
微信小程序 template模板详解及实例
2017/02/21 Javascript
js每隔两秒输出数组中的一项(实例)
2017/05/28 Javascript
vue2中filter()的实现代码
2017/07/09 Javascript
20个最常见的jQuery面试问题及答案
2018/05/23 jQuery
小程序分享模块超级详解(推荐)
2019/04/10 Javascript
javaScript实现一个队列的方法
2020/07/14 Javascript
[00:48]DOTA2国际邀请赛公开赛报名开始 扫码开启逐梦之旅
2018/06/06 DOTA
python中的sort方法使用详解
2014/07/25 Python
Python Web框架Flask中使用七牛云存储实例
2015/02/08 Python
Python设计足球联赛赛程表程序的思路与简单实现示例
2016/06/28 Python
django实现用户登陆功能详解
2017/12/11 Python
python获取文件路径、文件名、后缀名的实例
2018/04/23 Python
Python中面向对象你应该知道的一下知识
2019/07/10 Python
Python对Excel按列值筛选并拆分表格到多个文件的代码
2019/11/05 Python
利用python实现AR教程
2019/11/20 Python
python 实现二维字典的键值合并等函数
2019/12/06 Python
Django项目使用ckeditor详解(不使用admin)
2019/12/17 Python
Python unittest单元测试框架及断言方法
2020/04/15 Python
python进行OpenCV实战之画图(直线、矩形、圆形)
2020/08/27 Python
美国折扣网站:jClub
2017/08/07 全球购物
个人求职信范文
2014/05/24 职场文书
人大调研汇报材料
2014/08/14 职场文书
学生夜不归宿检讨书
2014/09/23 职场文书
十岁生日答谢词
2015/01/05 职场文书
逃课检讨书范文
2015/05/06 职场文书
八年级作文之我的母亲
2019/12/10 职场文书
超级详细实用的pycharm常用快捷键
2021/05/12 Python