PHP二维数组去重实例分析
本文实例分析了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($arras$v){ echo'id:'.$v['id'].'psid:'.$v['psid'].'fullname:'.$v['fullname'].'userid:'.$v['userid'].'<br/>'; } //二维数组简单去重 functioner_array_unique($arr){ $newarr=array(); if(is_array($arr)){ foreach($arras$v){ if(!in_array($v,$newarr,true)){ $newarr[]=$v; } } }else{ returnfalse; } return$newarr; }
打印结果:
id:1psid:P101fullname:课程计划全称101userid:4 id:1psid:P101fullname:课程计划全称101userid:3 id:1psid:P101fullname:课程计划全称101userid:2 id:2psid:P102fullname:新课程计划userid:4 id:2psid:P102fullname:新课程计划userid:3 id:2psid:P102fullname:新课程计划userid:2
注意:此方法中的 in_array($need,$arr,$strict)
在PHP版本4.2.0之前,$need不允许是一个数组。$stric为true会严格去匹配$need和$arr中待查找的类型
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数组(Array)操作技巧大全》、《php排序算法总结》、《php字符串(string)用法总结》、《PHP针对XML文件操作技巧总结》、《PHP错误与异常处理方法总结》、《PHP运算与运算符用法总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。