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 相关文章推荐
PHP在XP下IIS和Apache2服务器上的安装
Sep 05 PHP
PHP6 mysql连接方式说明
Feb 09 PHP
php empty,isset,is_null判断比较(差异与异同)
Oct 19 PHP
php输出xml格式字符串(用的这个)
Jul 12 PHP
destoon实现调用热门关键字的方法
Jul 15 PHP
两种php去除二维数组的重复项方法
Nov 04 PHP
基于ThinkPHP实现批量删除
Dec 18 PHP
深入浅析php json 格式控制
Dec 24 PHP
CodeIgniter配置之routes.php用法实例分析
Jan 19 PHP
php 数据结构之链表队列
Oct 17 PHP
利用PHP计算有多少小于当前数字的数字方法示例
Aug 26 PHP
PHP实现长轮询消息实时推送功能代码实例讲解
Feb 26 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
php select,radio和checkbox默认选择的实现方法
2010/05/15 PHP
php可生成缩略图的文件上传类实例
2014/12/17 PHP
PHP中的随机性 你觉得自己幸运吗?
2016/01/22 PHP
PHP按符号截取字符串的指定部分的实现方法
2018/09/10 PHP
基于Laravel-admin 后台的自定义页面用法详解
2019/09/30 PHP
tp5.1 框架路由操作-URL生成实例分析
2020/05/26 PHP
Extjs在exlipse中设置自动提示的方法
2010/04/07 Javascript
基于Jquery的表格隔行换色,移动换色,点击换色插件
2010/12/22 Javascript
JS小功能(offsetLeft实现图片滚动效果)实例代码
2013/11/28 Javascript
Javascript MVC框架Backbone.js详解
2014/09/18 Javascript
JavaScript中的console.trace()函数介绍
2014/12/29 Javascript
深入分析Cookie的安全性问题
2015/03/01 Javascript
javascript结合canvas实现图片旋转效果
2015/05/03 Javascript
JS简单实现浮动窗口效果示例
2016/09/07 Javascript
详解JS中的快速排序与冒泡
2017/01/10 Javascript
js模拟支付宝密码输入框
2017/04/11 Javascript
Js实现京东无延迟菜单效果实例(demo)
2017/06/02 Javascript
JavaScript定时器setTimeout()和setInterval()详解
2017/08/18 Javascript
jQuery实现计算器功能
2020/10/19 jQuery
Python操作MongoDB详解及实例
2017/05/18 Python
Python基于回溯法子集树模板实现8皇后问题
2017/09/01 Python
浅谈tensorflow1.0 池化层(pooling)和全连接层(dense)
2018/04/27 Python
Python标准库使用OrderedDict类的实例讲解
2019/02/14 Python
python网络应用开发知识点浅析
2019/05/28 Python
Python for循环及基础用法详解
2019/11/08 Python
Python的赋值、深拷贝与浅拷贝的区别详解
2020/02/12 Python
Django 多对多字段的更新和插入数据实例
2020/03/31 Python
会计专业的自荐信
2013/12/12 职场文书
领导干部培训感言
2014/01/23 职场文书
学习十八大演讲稿
2014/09/15 职场文书
平面设计师岗位职责
2014/09/18 职场文书
小学中等生评语
2014/12/29 职场文书
出国留学导师推荐信
2015/03/26 职场文书
详解JavaScript中的执行上下文及调用堆栈
2021/04/29 Javascript
如何理解Vue前后端数据交互与显示
2021/05/10 Vue.js