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 相关文章推荐
xml+php动态载入与分页
Oct 09 PHP
PHP mcrypt可逆加密算法分析
Jul 19 PHP
PHP过滤★等特殊符号的正则
Jan 27 PHP
PHP反射机制用法实例
Aug 28 PHP
PHP动态编译出现Cannot find autoconf的解决方法
Nov 05 PHP
thinkphp配置连接数据库技巧
Dec 02 PHP
php5.2的curl-bug 服务器被php进程卡死问题排查
Sep 19 PHP
php微信开发之自定义菜单实现
Nov 18 PHP
Yii2――使用数据库操作汇总(增删查改、事务)
Dec 19 PHP
PHP unlink与rmdir删除目录及目录下所有文件实例代码
Feb 07 PHP
PHP排序算法之堆排序(Heap Sort)实例详解
Apr 21 PHP
如何运行/调试你的PHP代码
Oct 23 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 is_file 判断给定文件名是否为一个正常的文件
2010/05/10 PHP
php统计时间和内存使用情况示例分享
2014/03/13 PHP
PHP 文件锁与进程锁的使用示例
2017/08/07 PHP
web前端开发也需要日志
2010/12/09 Javascript
Javascript创建自定义对象 创建Object实例添加属性和方法
2012/06/04 Javascript
jquery getScript动态加载JS方法改进详解
2012/11/15 Javascript
JQUERY实现左侧TIPS滑进滑出效果示例
2013/06/27 Javascript
JavaScript实现两个Table固定表头根据页面大小自行调整
2014/01/03 Javascript
Nodejs sublime text 3安装与配置
2014/06/19 NodeJs
js闭包所用的场合以及优缺点分析
2015/06/22 Javascript
JS实现按比例缩放图片的方法(附C#版代码)
2015/12/08 Javascript
原生js图片轮播效果实现代码
2016/10/19 Javascript
手动初始化Angular的模块与控制器
2016/12/26 Javascript
微信小程序-横向滑动scroll-view隐藏滚动条
2017/04/20 Javascript
详解用node搭建简单的静态资源管理器
2017/08/09 Javascript
浅析Vue 和微信小程序的区别、比较
2018/08/03 Javascript
vue 使用自定义指令实现表单校验的方法
2018/08/28 Javascript
Angular ui-roter 和AngularJS 通过 ocLazyLoad 实现动态(懒)加载模块和依赖
2018/11/25 Javascript
bootstrap table.js动态填充单元格数据的多种方法
2019/07/18 Javascript
如何解决jQuery 和其他JS库的冲突
2020/06/22 jQuery
js数组中去除重复值的几种方法
2020/08/03 Javascript
VSCode插件安装完成后的配置(常用配置)
2020/08/24 Javascript
关于python的bottle框架跨域请求报错问题的处理方法
2017/03/19 Python
在python 中实现运行多条shell命令
2019/01/07 Python
python 实现turtle画图并导出图片格式的文件
2019/12/07 Python
Python利用多线程同步锁实现多窗口订票系统(推荐)
2019/12/22 Python
pytorch载入预训练模型后,实现训练指定层
2020/01/06 Python
CSS3实现精美横向滚动菜单按钮
2017/04/14 HTML / CSS
工商管理专业实习生自我鉴定
2013/09/29 职场文书
总经理助理工作职责
2014/02/06 职场文书
2014年“四风”问题个人整改措施
2014/09/17 职场文书
环保守法证明
2015/06/24 职场文书
个人房屋租赁合同(标准范本)
2019/09/16 职场文书
浅谈Python numpy创建空数组的问题
2021/05/25 Python
python lambda 表达式形式分析
2022/04/03 Python
springboot读取nacos配置文件
2022/05/20 Java/Android