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学习之变量的使用
May 29 PHP
解析在PHP中使用全局变量的几种方法
Jun 24 PHP
PHP限制页面只能在微信自带浏览器访问的代码
Jan 15 PHP
php数组去重复数据示例
Feb 25 PHP
PHP中字符安全过滤函数使用小结
Feb 25 PHP
摘自织梦CMS中的图片处理类
Aug 08 PHP
PHP缓冲区用法总结
Feb 14 PHP
PHP构造函数与析构函数用法示例
Sep 28 PHP
php与c 实现按行读取文件实例代码
Jan 03 PHP
PHP实现的回溯算法示例
Aug 15 PHP
PHP实用小技巧之调用录像的方法
Dec 05 PHP
PHP中SESSION过期设置
Mar 09 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 IN_ARRAY 函数使用注意事项
2010/07/24 PHP
PHP中for与foreach的区别分析
2011/03/09 PHP
解析php中curl_multi的应用
2013/07/17 PHP
使用php记录用户通过搜索引擎进网站的关键词
2014/02/13 PHP
Win7 64位系统下PHP连接Oracle数据库
2014/08/20 PHP
Yii2实现让关联字段支持搜索功能的方法
2016/08/10 PHP
php实现将数据做成json的格式给前端使用
2018/08/21 PHP
Laravel框架Blade模板简介及模板继承用法分析
2019/12/03 PHP
greybox——不开新窗口看新的网页
2007/02/20 Javascript
Javascript &amp; DHTML 实例编程(教程)DOM基础和基本API
2007/06/02 Javascript
jQuery学习5 jQuery事件模型
2010/02/07 Javascript
jQuery1.6 使用方法一
2011/11/23 Javascript
js中scrollHeight,scrollWidth,scrollLeft,scrolltop等差别介绍
2012/05/16 Javascript
javascript:文字不间断向左移动的实例代码
2013/08/08 Javascript
Javascript实现飞动广告效果的方法
2015/05/25 Javascript
javascript replace()第二个参数为函数时的参数用法
2016/12/26 Javascript
JSON 数据详解及实例代码分析
2017/01/20 Javascript
浅析Angular2子模块以及异步加载
2017/04/24 Javascript
微信小程序本地缓存数据增删改查实例详解
2017/05/24 Javascript
详解Vue This$Store总结
2018/12/17 Javascript
解决antd的Form组件setFieldsValue的警告问题
2020/10/29 Javascript
下载安装setuptool和pip linux安装pip    
2014/01/24 Python
在Python中处理列表之reverse()方法的使用教程
2015/05/21 Python
深入浅析Python中的yield关键字
2018/01/24 Python
python分治法求二维数组局部峰值方法
2018/04/03 Python
pandas表连接 索引上的合并方法
2018/06/08 Python
Python中类的创建和实例化操作示例
2019/02/27 Python
Python命令行click参数用法解析
2019/12/19 Python
Python查找不限层级Json数据中某个key或者value的路径方式
2020/02/27 Python
美国糖果店:Sugarfina
2019/02/21 全球购物
沃达丰英国有限公司:Vodafone英国
2019/04/16 全球购物
电话客服专员岗位职责
2014/06/28 职场文书
党员思想汇报材料
2014/12/19 职场文书
HTML5 语义化标签(移动端必备)
2021/08/23 HTML / CSS
Python OpenCV超详细讲解基本功能
2022/04/02 Python
table设置超出部分隐藏,鼠标移上去显示全部内容的方法
2022/12/24 HTML / CSS