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安装攻略:常见问题解答(二)
Oct 09 PHP
php下一个阿拉伯数字转中文数字的函数
Jul 16 PHP
php代码把全角数字转为半角数字
Dec 10 PHP
php中经典方法实现判断多维数组是否为空
Oct 23 PHP
php使HTML标签自动补全闭合函数代码
Oct 04 PHP
PHP实现多维数组转字符串和多维数组转一维数组的方法
Aug 08 PHP
php根据日期或时间戳获取星座信息和生肖等信息
Oct 20 PHP
php session 写入数据库
Feb 13 PHP
CI框架常用经典操作类总结(路由,伪静态,分页,session,验证码等)
Nov 21 PHP
Laravel实现定时任务的示例代码
Aug 10 PHP
PHP小程序支付功能完整版【基于thinkPHP】
Mar 26 PHP
PHP示例演示发送邮件给某个邮箱
Apr 03 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 preg_replace替换实例讲解
2013/11/04 PHP
php调用KyotoTycoon简单实例
2015/04/02 PHP
总结PHP删除字符串最后一个字符的三种方法
2016/08/30 PHP
PHP使用curl制作简易百度搜索
2016/11/03 PHP
ThinkPHP实现转换数据库查询结果数据到对应类型的方法
2017/11/16 PHP
容易被忽略的JS脚本特性
2011/09/13 Javascript
网页右侧悬浮滚动在线qq客服代码示例
2014/04/28 Javascript
javascript实现校验文件上传控件实例
2015/04/20 Javascript
包含中国城市的javascript对象实例
2015/08/03 Javascript
jquery获取form表单input元素值的简单实例
2016/05/30 Javascript
js实现功能比较全面的全选和多选
2017/03/02 Javascript
jquery select插件异步实时搜索实例代码
2017/10/20 jQuery
详解Vue2 SSR 缓存 Api 数据
2017/11/20 Javascript
vue插件实现v-model功能
2018/09/10 Javascript
JS实现滑动拼图验证功能完整示例
2020/03/29 Javascript
vue实现一个6个输入框的验证码输入组件功能的实例代码
2020/06/29 Javascript
在Python操作时间和日期之asctime()方法的使用
2015/05/22 Python
判断网页编码的方法python版
2016/08/12 Python
Python编写一个闹钟功能
2017/07/11 Python
深入探究Django中的Session与Cookie
2017/07/30 Python
django 微信网页授权登陆的实现
2019/07/30 Python
python标记语句块使用方法总结
2019/08/05 Python
Python中的 sort 和 sorted的用法与区别
2019/08/10 Python
在pycharm中使用pipenv创建虚拟环境和安装django的详细教程
2020/11/30 Python
Expedia英国:全球最大的在线旅游公司
2017/09/07 全球购物
英国建筑用品在线:Building Supplies Online(BSO)
2018/04/30 全球购物
医学专业五年以上个人求职信
2013/12/03 职场文书
关于元旦的广播稿
2014/02/16 职场文书
毕业晚会主持词
2014/03/24 职场文书
交通事故赔偿协议书
2014/04/15 职场文书
护校行动方案
2014/05/31 职场文书
领导工作表现评语
2015/01/04 职场文书
2015年小学语文教师工作总结
2015/10/23 职场文书
python中pandas.read_csv()函数的深入讲解
2021/03/29 Python
Redis 的查询很快的原因解析及Redis 如何保证查询的高效
2022/03/16 Redis
利用JuiceFS使MySQL 备份验证性能提升 10 倍
2022/03/17 MySQL