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+mysql 采用ajax技术的 省 市 地 3级联动无刷新菜单 源码
Dec 16 PHP
UCenter Home二次开发指南
May 28 PHP
PHP 组件化编程技巧
Jun 06 PHP
PHP中Date()时间日期函数的使用方法小结
Apr 20 PHP
浅析PKI加密解密 OpenSSL
Jul 01 PHP
解决Codeigniter不能上传rar和zip压缩包问题
Mar 07 PHP
php实现文件下载简单示例(代码实现文件下载)
Mar 10 PHP
PHP中单引号与双引号的区别分析
Aug 19 PHP
PHP中使用Memache作为进程锁的操作类分享
Mar 30 PHP
PHP中PDO连接数据库中各种DNS设置方法小结
May 13 PHP
PHP大文件分片上传的实现方法
Oct 28 PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
Nov 14 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 chr() ord()中文截取乱码问题解决方法
2008/09/08 PHP
Javascript 实现TreeView CheckBox全选效果
2010/01/11 Javascript
jQuery EasyUI API 中文文档 - ProgressBar 进度条
2011/09/29 Javascript
javascript中checkbox使用方法简单实例演示
2015/11/17 Javascript
JavaScript中的函数(二)
2015/12/23 Javascript
javascript实现2016新年版日历
2016/01/25 Javascript
Angular2 Service实现简单音乐播放器服务
2017/02/24 Javascript
JavaScript之promise_动力节点Java学院整理
2017/07/03 Javascript
javascript ES6 新增了let命令使用介绍
2017/07/07 Javascript
JavaScript中的return布尔值的用法和原理解析
2017/08/14 Javascript
JavaScript代码判断输入的字符串是否含有特殊字符和表情代码实例
2017/08/17 Javascript
Javascript的console['']常用输入方法汇总
2018/04/26 Javascript
微信小程序中添加客服按钮contact-button功能
2018/04/27 Javascript
vue打包的时候自动将px转成rem的操作方法
2018/06/20 Javascript
js限制input只能输入有效的数字(第一个不能是小数点)
2018/09/28 Javascript
在vue里使用codemirror遇到的问题
2018/11/01 Javascript
vue路由导航守卫和请求拦截以及基于node的token认证的方法
2019/04/07 Javascript
详解vue-cli3 中跨域解决方案
2019/04/10 Javascript
JS大坑之19位数的Number型精度丢失问题详解
2019/04/22 Javascript
浅谈vue项目,访问路径#号的问题
2020/08/14 Javascript
Vuex实现简单购物车
2021/01/10 Vue.js
python控制nao机器人身体动作实例详解
2019/04/29 Python
numpy下的flatten()函数用法详解
2019/05/27 Python
flask框架jinja2模板与模板继承实例分析
2019/08/01 Python
numpy中三维数组中加入元素后的位置详解
2019/11/28 Python
python 实现人和电脑猜拳的示例代码
2020/03/02 Python
python如何用matplotlib创建三维图表
2021/01/26 Python
HTML5手机端弹出遮罩菜单特效代码
2016/01/27 HTML / CSS
The North Face官方旗舰店:美国著名户外品牌
2020/09/28 全球购物
linux下进程间通信的方式
2013/01/23 面试题
机电专业体育教师求职信
2013/09/21 职场文书
平面设计岗位职责
2013/12/14 职场文书
小学爱国卫生月活动总结
2014/06/30 职场文书
《秦兵马俑》教学反思
2016/02/24 职场文书
祝福语集锦:给妹妹结婚的祝福语
2019/12/18 职场文书
FFmpeg视频处理入门教程(新手必看)
2022/01/22 杂记