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 相关文章推荐
首页四格,首页五格For6.0(GBK)(UTF-8)[12种组合][9-18][版主安装测试通过]
Sep 24 PHP
用PHP的ob_start() 控制您的浏览器cache
Aug 03 PHP
php读取文件内容至字符串中,同时去除换行、空行、行首行尾空格(Zjmainstay原创)
Jul 31 PHP
php标签云的实现代码
Oct 10 PHP
php生成图形验证码几种方法小结
Aug 15 PHP
php实现基于微信公众平台开发SDK(demo)扩展的方法
Dec 22 PHP
PHP使用DirectoryIterator显示下拉文件列表的方法
Mar 13 PHP
php封装好的人民币数值转中文大写类
Dec 20 PHP
PHP时间类完整实例(非常实用)
Dec 25 PHP
php简单实现批量上传图片的方法
May 09 PHP
PHP截取发动短信内容的方法
Jul 04 PHP
php中上传文件的的解决方案
Sep 25 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
Snoopy类使用小例子
2008/04/15 PHP
发款php蜘蛛统计插件只要有mysql就可用
2010/10/12 PHP
php生成数组的使用示例 php全组合算法
2014/01/16 PHP
php数组中包含中文的排序方法
2014/06/03 PHP
微信公众号开发之文本消息自动回复php代码
2016/08/08 PHP
基于jQuery中对数组进行操作的方法
2013/04/16 Javascript
Javascript获取HTML静态页面参数传递值示例
2013/08/18 Javascript
wap图片滚动特效无css3元素纯js脚本编写
2014/08/22 Javascript
javascript数组详解
2014/10/22 Javascript
JavaScript操作cookie类实例
2015/03/31 Javascript
JavaScript实现鼠标滑过图片变换效果的方法
2015/04/16 Javascript
js实现跨域的方法实例详解
2015/06/24 Javascript
浅析AngularJS中的指令
2016/03/20 Javascript
Ionic快速安装教程
2016/06/03 Javascript
jQuery可见性过滤选择器用法示例
2016/09/09 Javascript
Vue.JS入门教程之处理表单
2016/12/01 Javascript
深入理解vue.js双向绑定的实现原理
2016/12/05 Javascript
详解原生js实现offset方法
2017/06/15 Javascript
使用JavaScript开发跨平台的桌面应用详解
2017/07/27 Javascript
React注册倒计时功能的实现
2018/09/06 Javascript
JavaScript之Blob对象类型的具体使用方法
2019/11/29 Javascript
Vue+Node实现商品列表的分页、排序、筛选,添加购物车功能详解
2019/12/07 Javascript
[11:57]《一刀刀一天》第十七期:TI中国军团加油!
2014/05/26 DOTA
Python matplotlib画图实例之绘制拥有彩条的图表
2017/12/28 Python
Selenium的使用详解
2018/10/19 Python
Python实现的对一个数进行因式分解操作示例
2019/06/27 Python
Python对列表的操作知识点详解
2019/08/20 Python
python使用pygame实现笑脸乒乓球弹珠球游戏
2019/11/25 Python
python如何进入交互模式
2020/07/06 Python
Matplotlib 折线图plot()所有用法详解
2020/07/28 Python
原生 JS+CSS+HTML 实现时序图的方法
2019/07/31 HTML / CSS
如何实现jdbc性能优化
2012/07/30 面试题
.net面试题
2015/12/22 面试题
党员个人思想汇报
2013/12/28 职场文书
初中高效课堂实施方案
2014/02/26 职场文书
《我的长生果》教学反思
2016/02/20 职场文书