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读取网页文件内容的实现代码(fopen,curl等)
Jun 23 PHP
mysql总结之explain
Feb 27 PHP
浅析php变量作用域的一些问题
Aug 08 PHP
php使用qr生成二维码的示例分享
Jan 20 PHP
PHP页面实现定时跳转的方法
Oct 31 PHP
PHP中使用socket方式GET、POST数据实例
Apr 02 PHP
Centos下升级php5.2到php5.4全记录(编译安装)
Apr 03 PHP
php正则表达式验证(邮件地址、Url地址、电话号码、邮政编码)
Mar 14 PHP
Laravel中使用FormRequest进行表单验证方法及问题汇总
Jun 19 PHP
php获取POST数据的三种方法实例详解
Dec 20 PHP
php+mysql+jquery实现简易的检索自动补全提示功能
Apr 15 PHP
PHP学习记录之常用的魔术常量详解
Dec 12 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导出oracle库的php代码
2009/04/20 PHP
PHP实现上传多文件示例代码
2017/02/20 PHP
关于PHP通用返回值设置方法
2017/03/31 PHP
jquery获取子节点和父节点的示例代码
2013/09/10 Javascript
JS获取客户端IP地址、MAC和主机名的7个方法汇总
2014/07/21 Javascript
JavaScript实现可拖拽的拖动层Div实例
2015/08/05 Javascript
jquery验证邮箱格式并显示提交按钮
2015/11/07 Javascript
jQuery实现获取table表格第一列值的方法
2016/03/01 Javascript
BOM系列第二篇之定时器requestAnimationFrame
2016/08/17 Javascript
vue初尝试--项目结构(推荐)
2018/01/30 Javascript
利用js实现前后台传送Json的示例代码
2018/03/29 Javascript
JavaScript实现轮播图效果代码实例
2019/09/28 Javascript
javascript设计模式之迭代器模式
2020/01/30 Javascript
微信小程序开发(一):服务器获取数据列表渲染操作示例
2020/06/01 Javascript
[47:42]完美世界DOTA2联赛PWL S2 GXR vs Ink 第一场 11.19
2020/11/20 DOTA
python图像常规操作
2017/11/11 Python
Python随机函数random()使用方法小结
2018/04/29 Python
python使用RNN实现文本分类
2018/05/24 Python
Python3实现腾讯云OCR识别
2018/11/27 Python
Python设计模式之桥接模式原理与用法实例分析
2019/01/10 Python
如何使用Python标准库进行性能测试
2019/06/25 Python
解决Django layui {{}}冲突的问题
2019/08/29 Python
python编写简单端口扫描器
2019/09/04 Python
伦敦最有品味的百货:Liberty London
2016/11/12 全球购物
亚马逊海外购:亚马逊美国、英国、日本、德国直邮
2021/03/18 全球购物
网络工程与软件技术毕业生自荐信
2013/09/24 职场文书
应届生高等护理求职信
2013/10/12 职场文书
化工专业应届生求职信
2013/11/08 职场文书
领导干部考察材料
2014/02/08 职场文书
《大禹治水》教学反思
2014/04/27 职场文书
优秀班组长事迹
2014/05/31 职场文书
委托书的写法
2014/09/16 职场文书
酒会邀请函
2015/01/31 职场文书
2015年中个人总结范文
2015/03/10 职场文书
调研报告的主要写法
2019/04/18 职场文书
python源码剖析之PyObject详解
2021/05/18 Python