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+APACHE实现用户论证的方法
Oct 09 PHP
在同一窗体中使用PHP来处理多个提交任务
May 08 PHP
PHP无限分类(树形类)
Sep 28 PHP
php调用c接口无错版介绍
Mar 11 PHP
php实现的DateDiff和DateAdd时间函数代码分享
Aug 16 PHP
ThinkPHP表单自动验证实例
Oct 13 PHP
PHP递归实现层级树状展开
Apr 01 PHP
PHP pear安装配置教程
May 14 PHP
Laravel 5.1 on SAE环境开发教程【附项目demo源码】
Oct 09 PHP
thinkPHP3.2.3结合Laypage实现的分页功能示例
May 28 PHP
在Laravel 的 Blade 模版中实现定义变量
Oct 14 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
Dec 30 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文本数据库的搜索方法
2006/10/09 PHP
解决中英文字符串长度问题函数
2007/01/16 PHP
php学习之function的用法
2012/07/14 PHP
深入apache host的配置详解
2013/06/09 PHP
解析PHP中VC6 X86和VC9 X86的区别及 Non Thread Safe的意思
2013/06/28 PHP
php中用socket模拟http中post或者get提交数据的示例代码
2013/08/08 PHP
30个php操作redis常用方法代码例子
2014/07/05 PHP
PHP+Ajax实现无刷新分页实例详解(附demo源码下载)
2016/04/07 PHP
php ucwords() 函数将字符串中每个单词的首字符转换为大写(实现代码)
2016/05/12 PHP
PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法
2016/07/01 PHP
js下用eval生成JSON对象
2010/09/17 Javascript
express的中间件bodyParser详解
2014/12/04 Javascript
jQuery的Ajax用户认证和注册技术实例教程(附demo源码)
2015/12/08 Javascript
javascript中类的定义方式详解(四种方式)
2015/12/22 Javascript
angular forEach方法遍历源码解读
2017/01/25 Javascript
bootstrap折叠调用collapse()后data-parent不生效的快速解决办法
2017/02/23 Javascript
jquery实现tab选项卡切换效果(悬停、下方横线动画位移)
2017/05/05 jQuery
解决vue2.x中数据渲染以及vuex缓存的问题
2017/07/13 Javascript
详解在React里使用&quot;Vuex&quot;
2018/04/02 Javascript
使用Vue自定义指令实现Select组件
2018/05/24 Javascript
Koa 中的错误处理解析
2019/04/09 Javascript
jquery绑定事件 bind和on的用法与区别分析
2020/05/22 jQuery
Python利用PyExecJS库执行JS函数的案例分析
2019/12/18 Python
tensorflow 获取checkpoint中的变量列表实例
2020/02/11 Python
利用python绘制数据曲线图的实现
2020/04/09 Python
Pandas将列表(List)转换为数据框(Dataframe)
2020/04/24 Python
幼儿园大班毕业教师寄语
2014/04/03 职场文书
滴水洞导游词
2015/02/10 职场文书
小人国观后感
2015/06/11 职场文书
小学生读书笔记范文
2015/06/30 职场文书
《花钟》教学反思
2016/02/17 职场文书
Nest.js参数校验和自定义返回数据格式详解
2021/03/29 Javascript
如何利用python和DOS获取wifi密码
2021/03/31 Python
nginx中proxy_pass各种用法详解
2021/11/07 Servers
python中出现invalid syntax报错的几种原因分析
2022/02/12 Python
PHP正则表达式之RCEService回溯
2022/04/11 PHP