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 相关文章推荐
通过html表格发电子邮件
Oct 09 PHP
php header Content-Type类型小结
Jul 03 PHP
解析PHP实现多进程并行执行脚本
Jun 18 PHP
php中让上传的文件大小在上传前就受限制的两种解决方法
Jun 24 PHP
IIS6.0 开启Gzip方法及PHP Gzip函数分享
Jun 08 PHP
thinkphp中空模板与空模块的用法实例
Nov 26 PHP
php查看网页源代码的方法
Mar 13 PHP
解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法
Oct 23 PHP
PHP利用二叉堆实现TopK-算法的方法详解
Apr 24 PHP
PHP仿tp实现mvc框架基本设计思路与实现方法分析
May 23 PHP
PHP实现通过CURL上传文件功能示例
May 30 PHP
php图片裁剪函数
Oct 31 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
聊天室php&amp;mysql(二)
2006/10/09 PHP
Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN 的简易安装配置
2006/11/18 PHP
php基于CodeIgniter实现图片上传、剪切功能
2016/05/14 PHP
PHPExcel在linux环境下导出报500错误的解决方法
2017/01/26 PHP
基于Laravel 多个中间件的执行顺序详解
2019/10/21 PHP
JQuery 文本框使用小结
2010/05/22 Javascript
深入理解Javascript闭包 新手版
2010/12/28 Javascript
Three.js源码阅读笔记(物体是如何组织的)
2012/12/27 Javascript
javascript中DOM复选框选择用法实例
2015/05/14 Javascript
javascript中for/in循环及使用技巧
2015/09/01 Javascript
JS响应鼠标点击实现两个滑块区间拖动效果
2015/10/26 Javascript
JSONP跨域请求实例详解
2016/07/04 Javascript
一次围绕setTimeout的前端面试经验分享
2017/06/15 Javascript
Angularjs的键盘事件的绑定
2017/07/27 Javascript
vue-cli3.0如何使用CDN区分开发、生产、预发布环境
2018/11/22 Javascript
你了解vue3.0响应式数据怎么实现吗
2019/06/07 Javascript
原生js实现的移动端可拖动进度条插件功能详解
2019/08/15 Javascript
js中apply和call的理解与使用方法
2019/11/27 Javascript
阿望教你用vue写扫雷小游戏
2020/01/20 Javascript
详解Python函数可变参数定义及其参数传递方式
2017/08/02 Python
Python实现的ftp服务器功能详解【附源码下载】
2019/06/26 Python
Django 自定义分页器的实现代码
2019/11/24 Python
css3动画鼠标放上图片逐渐变大鼠标离开图片逐渐缩小效果
2021/01/27 HTML / CSS
HTML5新特性 多线程(Worker SharedWorker)
2017/04/24 HTML / CSS
意大利奢侈品零售商:ilDuomo Novara
2019/09/11 全球购物
Roxy荷兰官方网站:冲浪、滑雪板、服装和配件
2019/10/22 全球购物
建筑自我鉴定
2013/10/19 职场文书
招聘与培训专员岗位职责
2014/01/30 职场文书
给面试官的感谢信
2014/02/01 职场文书
简单的项目建议书模板
2014/03/12 职场文书
机关道德讲堂实施方案
2014/03/15 职场文书
党支部班子“四风”问题自我剖析材料
2014/09/28 职场文书
pycharm2021激活码使用教程(永久激活亲测可用)
2021/03/30 Python
Python自动化工具之实现Excel转Markdown表格
2022/04/08 Python
SQL Server 忘记密码以及重新添加新账号
2022/04/26 SQL Server
讲解Python实例练习逆序输出字符串
2022/05/06 Python