PHP二维数组去重实例分析


Posted in PHP onNovember 18, 2016

本文实例分析了PHP二维数组去重的方法。分享给大家供大家参考,具体如下:

都知道一维数组去重用系统函数 array_unique($arr)

然后今天我用到二维数组了,也想去重,百度一大堆,都是将二维转一维 然后使用array_unique($arr)

看得我很恼火,所以决定自己写一个。比他的简单好懂,记录下来,以备后用

header('content-type:text/html;charset=utf8');
$arr = array(
array('id'=>1,'psid'=>'P101','fullname'=>'课程计划全称 101','userid'=>4),
array('id'=>1,'psid'=>'P101','fullname'=>'课程计划全称 101','userid'=>3),
array('id'=>1,'psid'=>'P101','fullname'=>'课程计划全称 101','userid'=>3),
array('id'=>1,'psid'=>'P101','fullname'=>'课程计划全称 101','userid'=>2),
array('id'=>2,'psid'=>'P102','fullname'=>'新课程计划','userid'=>4),
array('id'=>2,'psid'=>'P102','fullname'=>'新课程计划','userid'=>3),
array('id'=>2,'psid'=>'P102','fullname'=>'新课程计划','userid'=>3),
array('id'=>2,'psid'=>'P102','fullname'=>'新课程计划','userid'=>2)
);
$arr = er_array_unique($arr);
foreach($arr as $v){
  echo 'id: '.$v['id'].'psid: '.$v['psid'].' fullname: '.$v['fullname'].' userid: '.$v['userid'].'<br/>';
}
//二维数组简单去重
function er_array_unique($arr){
  $newarr = array();
  if(is_array($arr)){
    foreach($arr as $v){
      if(!in_array($v,$newarr,true)){
        $newarr[] = $v;
      }
    }
  }else{
     return false;
  }
  return $newarr;
}

打印结果:

id: 1psid: P101 fullname: 课程计划全称 101 userid: 4
id: 1psid: P101 fullname: 课程计划全称 101 userid: 3
id: 1psid: P101 fullname: 课程计划全称 101 userid: 2
id: 2psid: P102 fullname: 新课程计划 userid: 4
id: 2psid: P102 fullname: 新课程计划 userid: 3
id: 2psid: P102 fullname: 新课程计划 userid: 2

注意:此方法中的  in_array($need,$arr,$strict)

在 PHP 版本 4.2.0 之前,$need 不允许是一个数组。$stric 为 true 会严格去匹配 $need 和 $arr 中待查找的类型

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
跟我学小偷程序之成功偷取首页(第三天)
Oct 09 PHP
PHP中上传大体积文件时需要的设置
Oct 09 PHP
php+mysql开源XNA 聚合程序发布 下载
Jul 13 PHP
FCKeditor添加自定义按钮
Mar 27 PHP
ExtJS与PHP、MySQL实现存储的方法
Apr 02 PHP
php curl_init函数用法
Jan 31 PHP
php上传图片生成缩略图(GD库)
Jan 06 PHP
浅析Yii2集成富文本编辑器redactor实例教程
Apr 25 PHP
zen cart实现订单中增加paypal中预留电话的方法
Jul 12 PHP
CI框架使用composer安装的依赖包步骤与方法分析
Nov 21 PHP
laravel5使用freetds连接sql server的方法
Dec 07 PHP
ThinkPHP5.1验证码功能实现的示例代码
Jun 08 PHP
浅谈php fopen下载远程文件的函数
Nov 18 #PHP
PHP实现的自定义数组排序函数与排序类示例
Nov 18 #PHP
php array_walk 对数组中的每个元素应用用户自定义函数详解
Nov 18 #PHP
PHP屏蔽关键字实现方法
Nov 17 #PHP
php实现背景图上添加圆形logo图标的方法
Nov 17 #PHP
PHP解压ZIP文件到指定文件夹的方法
Nov 17 #PHP
PHP版单点登陆实现方案的实例
Nov 17 #PHP
You might like
实现“上一页”和“下一页按钮
2006/10/09 PHP
实现了一个PHP5的getter/setter基类的代码
2007/02/25 PHP
phpMyAdmin出现无法载入 mcrypt 扩展,请检查PHP配置的解决方法
2012/03/26 PHP
php使HTML标签自动补全闭合函数代码
2012/10/04 PHP
探讨GDFONTPATH能否被winxp下的php支持
2013/06/21 PHP
PHP实现HTML生成PDF文件的方法
2014/11/07 PHP
PHP中使用匿名函数操作数据库的例子
2014/11/17 PHP
php使用递归计算文件夹大小
2014/12/24 PHP
深入理解PHP之源码目录结构与功能说明
2016/06/01 PHP
很酷的javascript loading效果代码
2008/06/18 Javascript
不用AJAX和IFRAME,说说真正意义上的ASP+JS无刷新技术
2008/09/25 Javascript
使用滤镜设置透明导致 IE 6/7/8/9 解析异常的解决方法
2011/04/07 Javascript
jQuery用unbind方法去掉hover事件及其他方法介绍
2013/03/18 Javascript
jQuery实现当按下回车键时绑定点击事件
2014/01/28 Javascript
JavaScript 异常处理 详解
2015/02/06 Javascript
图解Sublime Text3使用技巧
2015/12/21 Javascript
JS把内容动态插入到DIV的实现方法
2016/07/19 Javascript
纯JS实现图片验证码功能并兼容IE6-8(推荐)
2017/04/19 Javascript
在vue中使用css modules替代scroped的方法
2018/03/10 Javascript
Python读写Excel文件方法介绍
2014/11/22 Python
在Python中处理字符串之isdigit()方法的使用
2015/05/18 Python
Python爬取当当、京东、亚马逊图书信息代码实例
2017/12/09 Python
Python实现的多进程和多线程功能示例
2018/05/29 Python
Python3离线安装Requests模块问题
2019/10/13 Python
Pytorch之view及view_as使用详解
2019/12/31 Python
python使用Thread的setDaemon启动后台线程教程
2020/04/25 Python
Python: glob匹配文件的操作
2020/12/11 Python
用Python自动清理系统垃圾的实现
2021/01/18 Python
Python爬虫获取op.gg英雄联盟英雄对位胜率的源码
2021/01/29 Python
基于CSS3实现的漂亮Menu菜单效果代码
2015/09/10 HTML / CSS
Sisley法国希思黎中国官网:享誉全球的奢华植物美容品牌
2019/06/30 全球购物
财务总经理岗位职责
2014/02/16 职场文书
学雷锋志愿服务月活动总结
2014/03/09 职场文书
护理实习生带教计划
2015/01/16 职场文书
小学运动会加油词
2015/07/18 职场文书
Django集成富文本编辑器summernote的实现步骤
2021/05/31 Python