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 相关文章推荐
用IE远程创建Mysql数据库的简易程序
Oct 09 PHP
php SQL防注入代码集合
Apr 25 PHP
简化php模板页面中分页代码的解析
Feb 06 PHP
php下将多个数组合并成一个数组的方法与实例代码
Feb 03 PHP
Apache2中实现多网站域名绑定的实现方法
Jun 01 PHP
PHP 无限分类三种方式 非函数的递归调用!
Aug 26 PHP
PHP setcookie指定domain参数后,在IE下设置cookie失效的解决方法
Sep 09 PHP
解析curl提交GET,POST,Cookie的简单方法
Jun 29 PHP
ThinkPHP实现非标准名称数据表快速创建模型的方法
Nov 29 PHP
PHP下载远程文件到本地存储的方法
Mar 24 PHP
php实现curl模拟ftp上传的方法
Jul 29 PHP
PHP实现简单日历类编写
Aug 28 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
一个用mysql_odbc和php写的serach数据库程序
2006/10/09 PHP
DW中链接mysql数据库时,建立字符集中文出现乱码的解决方法
2010/03/27 PHP
php获取域名的google收录示例
2014/03/24 PHP
php实现中文字符截取防乱码方法汇总
2015/04/29 PHP
PHP实现递归复制整个文件夹的类实例
2015/08/03 PHP
PHP curl模拟登录带验证码的网站
2015/11/30 PHP
php策略模式简单示例分析【区别于工厂模式】
2019/09/25 PHP
Jquery Ajax学习实例6 向WebService发出请求,返回DataSet(XML) 异步调用
2010/03/18 Javascript
自写的一个jQuery圆角插件
2010/10/26 Javascript
一个简单的动态加载js和css的jquery代码
2014/09/01 Javascript
javascript实现分栏显示小技巧附图
2014/10/13 Javascript
使用Node.js为其他程序编写扩展的基本方法
2015/06/23 Javascript
jQuery插件cxSelect多级联动下拉菜单实例解析
2016/06/24 Javascript
JS简单实现无缝滚动效果实例
2016/08/24 Javascript
angularjs ui-router中路由的二级嵌套
2017/03/10 Javascript
浅谈angular2 组件的生命周期钩子
2017/08/12 Javascript
react native 获取地理位置的方法示例
2018/08/28 Javascript
微信小程序实现简单评论功能
2018/11/28 Javascript
基于vue框架手写一个notify插件实现通知功能的方法
2019/03/31 Javascript
Vue 组件修改根实例的数据的方法
2019/04/02 Javascript
浅谈layui 绑定form submit提交表单的注意事项
2019/10/25 Javascript
Vue使用虚拟dom进行渲染view的方法
2019/12/26 Javascript
nodeJS与MySQL实现分页数据以及倒序数据
2020/06/05 NodeJs
[58:11]守擂赛第二周擂主赛 DeMonsTer vs Leopard
2020/04/28 DOTA
使用Python求解最大公约数的实现方法
2015/08/20 Python
Django中的静态文件管理过程解析
2019/08/01 Python
canvas实现高阶贝塞尔曲线(N阶贝塞尔曲线生成器)
2018/01/10 HTML / CSS
成功的酒店创业计划书
2013/12/27 职场文书
大众服装店创业计划书范文
2014/01/01 职场文书
写演讲稿要注意的六件事
2014/01/14 职场文书
绩效工资分配方案
2014/01/18 职场文书
水毁工程实施方案
2014/04/01 职场文书
人力资源管理求职信
2014/08/07 职场文书
2014年教师工作总结
2014/11/10 职场文书
信用卡工作证明范本
2015/06/19 职场文书
军事理论课感想
2015/08/11 职场文书