PHP二维数组的去重问题解析


Posted in PHP onJuly 17, 2011

之前写了一篇关于数组去重的文章,但是仅限于一维数组。下面的函数可以用于二维数组:

//二维数组去掉重复值 
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; 
}

如果你想保留数组的键值,可以用下面的函数:
//二维数组去掉重复值 并保留键值 
function array_unique_fb($array2D) 
{ 
foreach ($array2D as $k=>$v) 
{ 
$v = join(",",$v); //降维,也可以用implode,将一维数组转换为用逗号连接的字符串 
$temp[$k] = $v; 
} 
$temp = array_unique($temp); //去掉重复的字符串,也就是重复的一维数组 
foreach ($temp as $k => $v) 
{ 
$array=explode(",",$v); //再将拆开的数组重新组装 
$temp2[$k]["id"] =$array[0]; 
$temp2[$k]["litpic"] =$array[1]; 
$temp2[$k]["title"] =$array[2]; 
$temp2[$k]["address"] =$array[3]; 
$temp2[$k]["starttime"] =$array[4]; 
$temp2[$k]["endtime"] =$array[5]; 
$temp2[$k]["classid"] =$array[6]; 
$temp2[$k]["ename"] =$array[7]; 
} 
return $temp2; 
}

大概就这样啦。
二维数组去重
<?php 
$arr = array( 
array('id' => 1,'name' => 'aaa'), 
array('id' => 2,'name' => 'bbb'), 
array('id' => 3,'name' => 'ccc'), 
array('id' => 4,'name' => 'ddd'), 
array('id' => 5,'name' => 'ccc'), 
array('id' => 6,'name' => 'aaa'), 
array('id' => 7,'name' => 'bbb'), 
); 
function assoc_unique(&$arr, $key) 
{ 
$rAr=array(); 
for($i=0;$i<count($arr);$i++) 
{ 
if(!isset($rAr[$arr[$i][$key]])) 
{ 
$rAr[$arr[$i][$key]]=$arr[$i]; 
} 
} 
$arr=array_values($rAr); 
} 
assoc_unique(&$arr,'name'); 
print_r($arr); 
?>
PHP 相关文章推荐
简体中文转换为繁体中文的PHP函数
Oct 09 PHP
PHP 输出缓存详解
Jun 20 PHP
PHP批量采集下载美女图片的实现代码
Jun 03 PHP
PHP链接MySQL的常用扩展函数
Oct 23 PHP
php获取系统变量方法小结
May 29 PHP
yii2超好用的日期组件和时间组件
May 05 PHP
PHP批量获取网页中所有固定种子链接的方法
Nov 18 PHP
php输出图像的方法实例分析
Feb 16 PHP
php7 安装yar 生成docker镜像
May 09 PHP
PHP聊天室简单实现方法详解
Dec 08 PHP
php写app用的框架整理
Sep 29 PHP
Laravel Reponse响应客户端示例详解
Sep 03 PHP
简单的PHP多图上传小程序代码
Jul 17 #PHP
一个PHP验证码类代码分享(已封装成类)
Jul 17 #PHP
PHP 验证码的实现代码
Jul 17 #PHP
PHP中用hash实现的数组
Jul 17 #PHP
PHP中文分词的简单实现代码分享
Jul 17 #PHP
PHP 删除文件与文件夹操作 unlink()与rmdir()这两个函数的使用
Jul 17 #PHP
从手册去理解分析PHP session机制
Jul 17 #PHP
You might like
php字符串过滤与替换小结
2015/01/26 PHP
WordPress中用于获取及自定义头像图片的PHP脚本详解
2015/12/17 PHP
PHP封装的PDO数据库操作类实例
2017/06/21 PHP
PHP分享图片的生成方法
2018/04/25 PHP
Javascript 实现TreeView CheckBox全选效果
2010/01/11 Javascript
javascript 从if else 到 switch case 再到抽象
2010/07/17 Javascript
JavaScript获取当前页面上的指定对象示例代码
2014/02/28 Javascript
jquery如何扑捉回车键触发的事件
2014/04/24 Javascript
node.js学习总结之调式代码的方法
2014/06/25 Javascript
IE浏览器不支持getElementsByClassName的解决方法
2014/08/27 Javascript
javascript模拟命名空间
2015/04/17 Javascript
可以浮动某个物体的jquery控件用法实例
2015/07/24 Javascript
Jquery 分页插件之Jquery Pagination
2015/08/25 Javascript
jquery实现标题字体变换的滑动门菜单效果
2015/09/07 Javascript
原生JavaScript实现滚动条效果
2020/03/24 Javascript
jQuery实现自动输入email、时间和域名的方法
2016/08/24 Javascript
Jquery+Ajax+xml实现中国地区选择三级联动菜单效果(推荐)
2017/06/09 jQuery
利用layer实现表单完美验证的方法
2019/09/26 Javascript
react MPA 多页配置详解
2019/10/18 Javascript
小程序识别身份证,银行卡,营业执照,驾照的实现
2019/11/05 Javascript
简述Python中的面向对象编程的概念
2015/04/27 Python
Python每天必学之bytes字节
2016/01/28 Python
Python实现查找匹配项作处理后再替换回去的方法
2017/06/10 Python
python基于twisted框架编写简单聊天室
2018/01/02 Python
python之Flask实现简单登录功能的示例代码
2018/12/24 Python
对Python 获取类的成员变量及临时变量的方法详解
2019/01/22 Python
Django+boostrap 美化admin后台的操作
2020/03/11 Python
使用sklearn对多分类的每个类别进行指标评价操作
2020/06/11 Python
微信浏览器左上角返回按钮拦截功能
2017/11/21 HTML / CSS
html5 外链式实现加减乘除的代码
2019/09/04 HTML / CSS
英国一家集合了众多有才华设计师品牌的奢侈店:Wolf & Badger
2018/04/18 全球购物
学校介绍信范文
2014/01/14 职场文书
2014自主招生自荐信策略
2014/01/27 职场文书
室内拓展活动方案
2014/02/13 职场文书
2015公务员试用期工作总结
2014/12/12 职场文书
中学政教处工作总结
2015/08/13 职场文书