php数组去重实例及分析


Posted in PHP onNovember 26, 2013

一维数组的重复项:

使用array_unique函数即可,使用实例如下:

              <?php
                  $aa=array("apple","banana","pear","apple","wail","watermalon");
                  $bb=array_unique($aa);
                  print_r($bb);
               ?>

结果如下:Array ( [0] => apple [1] =>banana [2] => pear [4] => wail [5]=> watermalon ) 。

二维数组的重复项:

对于二维数组咱们分两种情况讨论,一种是因为某一键名的值不能重复,删除重复项;另一种因为内部的一维数组不能完全相同,而删除重复项,下面举例说明:

㈠因为某一键名的值不能重复,删除重复项

          <?php
           function assoc_unique($arr, $key)
            {
              $tmp_arr = array();
              foreach($arr as $k => $v)
             {
                if(in_array($v[$key],$tmp_arr))//搜索$v[$key]是否在$tmp_arr数组中存在,若存在返回true
               {
                  unset($arr[$k]);
               }
             else {
                 $tmp_arr[] = $v[$key];
               }
             }
           sort($arr); //sort函数对数组进行排序
           return $arr;
           }
           $aa = array(
           array('id' => 123, 'name' =>'张三'),
           array('id' => 123, 'name' =>'李四'),
           array('id' => 124, 'name' =>'王五'),
           array('id' => 125, 'name' =>'赵六'),
           array('id' => 126, 'name' =>'赵六')
           );
           $key = 'id';
           assoc_unique(&$aa, $key);
           print_r($aa);
           ?>

显示结果为:Array ( [0] => Array ( [id] =>123 [name] => 张三 ) [1] => Array ([id] => 124 [name] => 王五 ) [2]=> Array ( [id] => 125 [name]=> 赵六 ) [3] => Array ( [id]=> 126 [name] => 赵六 ) )

㈡因内部的一维数组不能完全相同,而删除重复项

           <?php
           function array_unique_fb($array2D){
                foreach ($array2D as $v){
                    $v = join(",",$v); //降维,也可以用implode,将一维数组转换为用逗号连接的字符串
                    $temp[] = $v;
                }
                $temp =array_unique($temp);   //去掉重复的字符串,也就是重复的一维数组
               foreach ($temp as $k => $v){
                   $temp[$k] = explode(",",$v);  //再将拆开的数组重新组装
               }
               return $temp;
           }
           $aa = array(
           array('id' => 123, 'name' =>'张三'),
           array('id' => 123, 'name' =>'李四'),
           array('id' => 124, 'name' =>'王五'),
           array('id' => 123, 'name' =>'李四'),
           array('id' => 126, 'name' =>'赵六')
           );
           $bb=array_unique_fb($aa);
           print_r($bb)
           ?>

显示结果:Array ( [0] => Array ( [0] =>123 [1] => 张三 ) [1] => Array ( [0]=> 123 [1] => 李四 ) [2]=> Array ( [0] => 124 [1]=> 王五 ) [4] => Array ( [0]=> 126 [1] => 赵六 )) 
PHP 相关文章推荐
PHP+MYSQL的文章管理系统(一)
Oct 09 PHP
NT IIS下用ODBC连接数据库
Oct 09 PHP
php在页面中调用fckeditor编辑器的方法
Jun 10 PHP
Pain 全世界最小最简单的PHP模板引擎 (普通版)
Oct 23 PHP
php格式输出文件var_export函数实例
Nov 15 PHP
Zend Guard使用指南及问题处理
Jan 07 PHP
PHP rsa加密解密使用方法
Apr 27 PHP
PHP实现文件上传下载实例
Oct 18 PHP
php中str_pad()函数用法分析
Mar 28 PHP
搜索附近的人PHP实现代码
Feb 11 PHP
PHP后期静态绑定实例浅析
Dec 21 PHP
yii框架结合charjs实现统计30天数据的方法
Apr 04 PHP
php三维数组去重(示例代码)
Nov 26 #PHP
php导出word格式数据的代码实例
Nov 25 #PHP
php页面防重复提交方法总结
Nov 25 #PHP
php用header函数实现301跳转代码实例
Nov 25 #PHP
保存到桌面、设为桌面且带图标的PHP代码
Nov 19 #PHP
php使浏览器直接下载pdf文件的方法
Nov 15 #PHP
限制ckeditor上传图片文件大小的方法
Nov 15 #PHP
You might like
php实现QQ空间获取当前用户的用户名并生成图片
2015/07/25 PHP
摘自织梦CMS的HTTP文件下载类
2015/08/08 PHP
parseInt parseFloat js字符串转换数字
2010/08/01 Javascript
js中的数组Array定义与sort方法使用示例
2013/08/29 Javascript
jquery实现文本框数量加减功能的例子分享
2014/05/10 Javascript
jQuery添加/改变/移除CSS类及判断是否已经存在CSS
2014/08/20 Javascript
ztree获取当前选中节点子节点id集合的方法
2015/02/12 Javascript
jQuery地图map悬停显示省市代码分享
2015/08/20 Javascript
深入解析JavaScript编程中的this关键字使用
2015/11/09 Javascript
javascript定义类和类的实现实例详解
2015/12/01 Javascript
解决同一页面中两个iframe互相调用jquery,js函数的方法
2016/12/12 Javascript
vue-router:嵌套路由的使用方法
2017/02/21 Javascript
微信小程序日期选择器实例代码
2018/07/18 Javascript
nodejs异步编程基础之回调函数用法分析
2018/12/26 NodeJs
AntV F2和vue-cli构建移动端可视化视图过程详解
2019/10/08 Javascript
jQuery实现视频展示效果
2020/05/30 jQuery
[02:31]2014DOTA2国际邀请赛2009专访:干爹表现出乎意料 看好DK杀回决赛
2014/07/20 DOTA
[50:27]OG vs LGD 2018国际邀请赛淘汰赛BO3 第一场 8.26
2018/08/30 DOTA
python迭代器的使用方法实例
2013/11/21 Python
编写同时兼容Python2.x与Python3.x版本的代码的几个示例
2015/03/30 Python
初步认识Python中的列表与位运算符
2015/10/12 Python
python Selenium爬取内容并存储至MySQL数据库的实现代码
2017/03/16 Python
Python实现学生成绩管理系统
2020/04/05 Python
pandas 读取各种格式文件的方法
2018/06/22 Python
python之生产者消费者模型实现详解
2019/07/27 Python
用什么库写 Python 命令行程序(示例代码详解)
2020/02/20 Python
澳大利亚最受欢迎的女士度假服装:Kabana Shop
2020/10/10 全球购物
农救科工作职责
2013/11/27 职场文书
会计专业自荐信范文
2013/12/02 职场文书
日本语毕业生自荐信
2014/02/01 职场文书
教师现实表现材料
2014/02/14 职场文书
《最后的姿势》教学反思
2014/02/27 职场文书
企业演讲比赛主持词
2014/03/18 职场文书
仓库文员岗位职责
2014/04/06 职场文书
人事行政主管岗位职责
2015/04/09 职场文书
vue中的可拖拽宽度div的实现示例
2022/04/08 Vue.js