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中for循环语句的几种变型
Nov 26 PHP
常用的PHP数据库操作方法(MYSQL版)
Jun 08 PHP
php 判断访客是否为搜索引擎蜘蛛的函数代码
Jul 29 PHP
CI框架源码阅读,系统常量文件constants.php的配置
Feb 28 PHP
教你如何快捷的使用cmd访问mysql小技巧
May 26 PHP
浅谈php安全性需要注意的几点事项
Jul 17 PHP
php判断当前操作系统类型
Oct 28 PHP
php Session无效分析资料整理
Nov 29 PHP
php中实现字符串翻转的方法
Feb 22 PHP
Kindeditor编辑器添加图片上传水印功能(php代码)
Aug 03 PHP
Laravel 实现Controller向blade前台模板赋值的四种方式小结
Oct 22 PHP
laravel 出现command not found问题的解决方案
Oct 23 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
腾讯QQ php程序员面试题目整理
2010/06/08 PHP
php设计模式 Visitor 访问者模式
2011/06/28 PHP
修改php.ini不生效问题解决方法(上传大于8M的文件)
2013/06/14 PHP
laravel 框架执行流程与原理简单分析
2020/02/01 PHP
JavaScript 学习笔记二 字符串拼接
2010/03/28 Javascript
js判断输入是否为正整数、浮点数等数字的函数代码
2010/11/17 Javascript
关于图片按比例自适应缩放的js代码
2011/10/30 Javascript
javascript setinterval 的正确语法如何书写
2014/06/17 Javascript
nodejs中使用monk访问mongodb
2014/07/06 NodeJs
ECMAScript5中的对象存取器属性:getter和setter介绍
2014/12/08 Javascript
通过伪协议解决父页面与iframe页面通信的问题
2015/04/05 Javascript
基于jQuery实现的向下滑动二级菜单效果代码
2015/08/31 Javascript
javascript实现拖放效果
2015/12/16 Javascript
JavaScript读二进制文件并用ajax传输二进制流的方法
2016/07/18 Javascript
js判断请求的url是否可访问,支持跨域判断的实现方法
2016/09/17 Javascript
Bootstrap 树控件使用经验分享(图文解说)
2017/11/06 Javascript
vue实现验证码输入框组件
2017/12/14 Javascript
js实时监控文本框输入字数的实例代码
2018/01/18 Javascript
详解JavaScript中typeof与instanceof用法
2018/10/24 Javascript
vue踩坑记录之数组定义和赋值问题
2019/03/20 Javascript
Nodejs 微信小程序消息推送的实现
2021/01/20 NodeJs
[01:14]2019完美世界城市挑战赛(秋季赛)全国总决赛精彩花絮
2020/01/08 DOTA
Python selenium如何设置等待时间
2016/09/15 Python
Python并行分布式框架Celery详解
2018/10/15 Python
Python实现SQL注入检测插件实例代码
2019/02/02 Python
python 画函数曲线示例
2019/12/04 Python
Python编程快速上手——strip()函数的正则表达式实现方法分析
2020/02/29 Python
Python实现屏幕录制功能的代码
2020/03/02 Python
C/C++程序员常见面试题一
2012/12/08 面试题
八一建军节感言
2014/02/28 职场文书
新学期教师寄语
2014/04/02 职场文书
小学作文评语大全
2014/04/21 职场文书
离婚协议书范本2014
2014/10/27 职场文书
公司人事任命通知
2015/04/20 职场文书
校长新学期寄语2016
2015/12/04 职场文书
Python requests库参数提交的注意事项总结
2021/03/29 Python