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实现用户认证及管理完全源码
Mar 11 PHP
php 方便水印和缩略图的图形类
May 21 PHP
使用php将某个目录下面的所有文件罗列出来的方法详解
Jun 21 PHP
PHP生成唯一订单号
Jul 05 PHP
深入浅析php json 格式控制
Dec 24 PHP
PHP获取昨天、今天及明天日期的方法
Feb 03 PHP
Laravel实现构造函数自动依赖注入的方法
Mar 16 PHP
php mysql获取表字段名称和字段信息的三种方法
Nov 13 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
Nov 17 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
Feb 06 PHP
strpos() 函数判断字符串中是否包含某字符串的方法
Jan 16 PHP
PHP实现递归的三种方法
Jul 04 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简单防盗链实现方法
2015/07/29 PHP
PHP按指定键值对二维数组进行排序的方法
2015/12/22 PHP
Laravel中Trait的用法实例详解
2016/03/16 PHP
php制作基于xml的RSS订阅源功能示例
2017/02/08 PHP
javascript CSS画图之基础篇
2009/07/29 Javascript
避免回车键导致的页面无意义刷新的解决方法
2011/04/12 Javascript
jQuery手机拨号界面特效代码分享
2015/08/27 Javascript
javascript实现右侧弹出“分享到”窗口效果
2016/02/01 Javascript
深入理解JavaScript中的块级作用域、私有变量与模块模式
2016/10/31 Javascript
React学习笔记之事件处理(二)
2017/07/02 Javascript
基于Vue.js 2.0实现百度搜索框效果
2020/12/28 Javascript
JS获取指定月份的天数两种实现方法
2018/06/22 Javascript
React Component存在的几种形式详解
2018/11/06 Javascript
NVM安装nodejs的方法实用步骤
2019/01/16 NodeJs
vue自定义指令用法经典实例小结
2019/03/16 Javascript
微信小程序自定义多列选择器使用详解
2019/06/21 Javascript
localstorage实现带过期时间的缓存功能
2019/06/28 Javascript
微信小程序左滑删除实现代码实例
2019/09/16 Javascript
将Django使用的数据库从MySQL迁移到PostgreSQL的教程
2015/04/11 Python
Python随机生成数模块random使用实例
2015/04/13 Python
flask使用session保存登录状态及拦截未登录请求代码
2018/01/19 Python
浅谈dataframe中更改列属性的方法
2018/07/10 Python
简单了解python中对象的取反运算符
2019/07/01 Python
pycharm修改文件的默认打开方式的步骤
2019/07/29 Python
解析HTML5中的新功能本地存储localStorage
2016/03/01 HTML / CSS
DAWGS鞋官方网站:鞋,凉鞋,靴子
2016/10/04 全球购物
Glamest意大利:女性在线奢侈品零售店
2019/04/28 全球购物
总经理司机岗位职责
2014/02/06 职场文书
大学生励志演讲稿
2014/04/25 职场文书
城管执法人员纪律作风整顿思想汇报
2014/09/13 职场文书
关于运动会的广播稿50字
2014/10/17 职场文书
企业年会祝酒词
2015/08/11 职场文书
选对餐饮营销策略,营业额才会上涨
2019/08/27 职场文书
MySQL如何使用使用Xtrabackup进行备份和恢复
2021/06/21 MySQL
Node-Red实现MySQL数据库连接的方法
2021/08/07 MySQL
SQL优化老出错,那是你没弄明白MySQL解释计划用法
2021/11/27 MySQL