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写的采集程序
Mar 16 PHP
Ajax PHP 边学边练 之三 数据库
Nov 26 PHP
PHP 一个页面执行时间类代码
Mar 05 PHP
PHP 可阅读随机字符串代码
May 26 PHP
php join函数应用
May 04 PHP
php数组函数序列之ksort()对数组的元素键名进行升序排序,保持索引关系
Nov 02 PHP
PHP中include与require使用方法区别详解
Oct 19 PHP
php中实现记住密码下次自动登录的例子
Nov 06 PHP
php抓取并保存网站图片的实现代码
Oct 28 PHP
PHP实现将上传图片自动缩放到指定分辨率,并保持清晰度封装类示例
Jun 17 PHP
php用wangeditor3实现图片上传功能
Aug 22 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下使用CURL方式POST数据至API接口的代码
2013/02/14 PHP
Win7 64位系统下PHP连接Oracle数据库
2014/08/20 PHP
joomla实现注册用户添加新字段的方法
2016/05/05 PHP
laravel框架中控制器的创建和使用方法分析
2019/11/23 PHP
用roll.js实现的图片自动滚动+鼠标触动的特效
2007/03/18 Javascript
jCallout 轻松实现气泡提示功能
2013/09/22 Javascript
关于Javascript 对象(object)的prototype
2014/05/09 Javascript
jQuery 获取、设置HTML或TEXT内容的两种方法
2014/05/23 Javascript
indexOf 和 lastIndexOf 使用示例介绍
2014/09/02 Javascript
Windows系统下使用Sublime搭建nodejs环境
2015/04/13 NodeJs
JavaScript+CSS实现仿Mootools竖排弹性动画菜单效果
2015/10/14 Javascript
利用js的闭包原理做对象封装及调用方法
2017/04/07 Javascript
angular-ngSanitize模块-$sanitize服务详解
2017/06/13 Javascript
JS实现自定义状态栏动画文字效果示例
2017/10/12 Javascript
js原生日历的实例(推荐)
2017/10/31 Javascript
js中innerText/textContent和innerHTML与target和currentTarget的区别
2019/01/21 Javascript
vue2 拖动排序 vuedraggable组件的实现
2019/08/08 Javascript
浅谈layui分页控件field参数接收对象的问题
2019/09/20 Javascript
element实现合并单元格通用方法
2019/11/13 Javascript
python正则表达式match和search用法实例
2015/03/26 Python
Python闭包的两个注意事项(推荐)
2017/03/20 Python
使用python将图片格式转换为ico格式的示例
2018/10/22 Python
解决Python一行输出不显示的问题
2018/12/03 Python
Python3中_(下划线)和__(双下划线)的用途和区别
2019/04/26 Python
CSS3中的content属性使用示例
2015/07/20 HTML / CSS
HTML5 文件域+FileReader 分段读取文件并上传到服务器
2017/10/23 HTML / CSS
什么是事务?为什么需要事务?
2012/01/09 面试题
环境科学专业个人求职信
2013/12/15 职场文书
创业者是否需要商业计划书?
2014/02/07 职场文书
应届中专生自荐书范文
2014/02/13 职场文书
基督教婚礼主持词
2014/03/14 职场文书
房地产置业顾问岗位职责
2015/04/11 职场文书
感恩信:写给爸爸妈妈的一封感谢信
2019/09/12 职场文书
导游词之台湾安平古堡
2019/12/25 职场文书
Django操作cookie的实现
2021/05/26 Python
nginx的zabbix 5.0安装部署的方法步骤
2021/07/16 Servers