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 相关文章推荐
967 个函式
Oct 09 PHP
用Apache反向代理设置对外的WWW和文件服务器
Oct 09 PHP
PHP 和 XML: 使用expat函数(二)
Oct 09 PHP
如何隐藏你的.php文件
Jan 04 PHP
php 移除数组重复元素的一点说明
Nov 27 PHP
PHP截断标题且兼容utf8和gb2312编码
Sep 22 PHP
对PHP依赖注入的理解实例分析
Oct 09 PHP
详谈PHP中的密码安全性Password Hashing
Feb 04 PHP
php多进程模拟并发事务产生的问题小结
Dec 07 PHP
PHP命名空间简单用法示例
Dec 28 PHP
php封装的pdo数据库操作工具类与用法示例
May 08 PHP
基于PHP实现堆排序原理及实例详解
Jun 19 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 数组的一个悲剧?
2011/05/11 PHP
web目录下不应该存在多余的程序(安全考虑)
2012/05/09 PHP
PHP开发框架kohana3 自定义路由设置示例
2014/07/14 PHP
PHP中的数组处理函数实例总结
2016/01/09 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
2017/11/17 PHP
PHP实现的分解质因数操作示例
2018/08/01 PHP
PHP下载大文件失败并限制下载速度的实例代码
2019/05/10 PHP
jquery js 重置表单 reset()具体实现代码
2013/08/05 Javascript
jquery中focus()函数实现当对象获得焦点后自动把光标移到内容最后
2013/09/29 Javascript
JavaScript程序员应该知道的45个实用技巧
2014/03/04 Javascript
jquery实现的导航固定效果
2014/04/28 Javascript
CSS+JS实现点击文字弹出定时自动关闭DIV层菜单的方法
2015/05/12 Javascript
如何让一个json文件显示在表格里【实现代码】
2016/05/09 Javascript
JavaScript 节流函数 Throttle 详解
2016/07/04 Javascript
AngularJS使用ng-app自动加载bootstrap框架问题分析
2017/01/04 Javascript
微信小程序(三):网络请求
2017/01/13 Javascript
angular6的响应式表单的实现
2018/10/10 Javascript
使用angular-cli webpack创建多个包的方法
2018/10/16 Javascript
如何正确理解vue中的key详解
2019/11/02 Javascript
JavaScript正则表达式验证登录实例
2020/03/18 Javascript
JavaScript实现世界各地时间显示
2020/09/07 Javascript
不同版本中Python matplotlib.pyplot.draw()界面绘制异常问题的解决
2017/09/24 Python
Python OrderedDict的使用案例解析
2019/10/25 Python
使用python 将图片复制到系统剪贴中
2019/12/13 Python
4行Python代码生成图像验证码(2种)
2020/04/07 Python
Python pandas如何向excel添加数据
2020/05/22 Python
用Python爬取LOL所有的英雄信息以及英雄皮肤的示例代码
2020/07/13 Python
Python性能测试工具Locust安装及使用
2020/12/01 Python
世界汽车零件:World Car Parts
2019/09/04 全球购物
幼儿教师考核制度
2014/01/25 职场文书
运动会通讯稿300字
2014/02/02 职场文书
高中军训第一天感言
2014/03/06 职场文书
离职保密承诺书
2014/05/28 职场文书
教师个人查摆剖析材料
2014/10/14 职场文书
2014超市收银员工作总结
2014/11/13 职场文书
vue3中provide && inject的使用
2021/07/01 Vue.js