php将二维数组去重,PHP基于array_unique实现二维数组去重
array_unique函数就是可以处重的,它具备了这个功能了,下面我们一来看一个关于PHP使用array_unique对二维数组去重处理例子。
php5.2.9版本增加了array_unique对多维数组的支持,在处理多维数组是需要设置sort_flags参数
一维数组的重复项:
使用array_unique函数即可,使用实例如下:
代码如下
$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)
二维数组去重项
代码如下
例如:
$result=array(
0=>array('a'=>1,'b'=>'Hello'),
1=>array('a'=>1,'b'=>'other'),
2=>array('a'=>1,'b'=>'other'),
);
处理成
$result=array(
0=>array('a'=>1,'b'=>'Hello'),
1=>array('a'=>1,'b'=>'other')
);
使用方法
array_unique($result,SORT_REGULAR);
二维数组的重复项:
对于二维数组咱们分两种情况讨论,一种是因为某一键名的值不能重复,删除重复项;另一种因为内部的一维数组不能完全相同,而删除重复项,下面举例说明:
㈠因为某一键名的值不能重复,删除重复项
PHP代码如下
functionassoc_unique($arr,$key){
$tmp_arr=array();
foreach($arras$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]=>赵六))
因内部的一维数组不能完全相同,而删除重复项
代码如下
functionarray_unique_fb($array2D){
foreach($array2Das$v){
$v=join(",",$v);//降维,也可以用implode,将一维数组转换为用逗号连接的字符串
$temp[]=$v;
}
$temp=array_unique($temp);//去掉重复的字符串,也就是重复的一维数组
foreach($tempas$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数组函数array_push()、array_pop()及array_shift()简单用法示例PHPcall_user_func和call_user_func_array函数的简单理解与应用分析phparray转json及java转换json数据格式操作示例php利用array_search与array_column实现二维数组查找php使用array_chunk函数将一个数组分割成多个数组PHP多维数组排序array详解PHParray_reverse()函数原理及实例解析
php将二维数组去重,PHP基于array_unique实现二维数组去重相关推荐
- 千万数据去重_基于 Flink 的百亿数据去重实践
在工作中经常会遇到去重的场景,例如基于 App 的用户行为日志分析系统,用户的行为日志从手机客户端上报到 Nginx 服务端,通过 Logstash.Flume 或其他工具将日志从 Nginx 写入到 ...
- java web二手书店,基于jsp的二手书交易-JavaEE实现二手书交易 - java项目源码
基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的二手书交易, 该项目可用各类java课程设计大作业中, 二手书交易的系统架构分为前后台两部分, 最终实现在线上进行 ...
- java的书可以二手_基于jsp的二手书图书-JavaEE实现二手书图书 - java项目源码
基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的二手书图书, 该项目可用各类java课程设计大作业中, 二手书图书的系统架构分为前后台两部分, 最终实现在线上进行 ...
- python 二维数组心得_基于python 二维数组及画图的实例详解
python中如何使用二维数组 在Python中,一个像这样的多维表格可以通过"序列的序列"实现.一个表格是行的序列.每一行又是独立单元格的序列.这类似于小编们使用的数学记号,在数 ...
- AAAI 2020 | 时间可以是二维的吗?基于二维时间图的视频内容片段检测
作者 | 彭厚文.傅建龙 来源 | 微软研究院AI头条 编者按:当时间从一维走向二维,时序信息处理问题中一种全新的建模思路由此产生.根据这种新思路及其产生的二维时间图概念,微软亚洲研究院提出一种新的解 ...
- Python使用numpy函数vsplit垂直(行角度)拆分numpy数组(返回拆分后的numpy数组列表)实战:垂直拆分二维numpy数组、split函数垂直拆分二维numpy数组
Python使用numpy函数vsplit垂直(行角度)拆分numpy数组(返回拆分后的numpy数组列表)实战:垂直拆分二维numpy数组.split函数垂直拆分二维numpy数组 目录
- python 空数组_【python三级】二维数组的表示
二维数据:由多个一维数据构成,是一维数据的组合形式. 表格就是典型的二维数据,其中表头是二维数组的一部分. 数组的操作: 二维数组本质上是以数组作为数组元素的数组,类型说明符,数组名,[常量表达式], ...
- 如何把一个二维数组的地址赋给一个二维指针?
int main() { int i = 0, j = 0; int arr[3][5] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }; ...
- 【C 语言】数组 ( 验证二维数组内存是线性的 | 打印二维数组 | 以一维数组方式打印二维数组 | 打印二维数组值和地址 )
文章目录 一.验证二维数组内存是线性的 1.打印二维数组 2.以一维数组方式打印二维数组 3.打印二维数组值和地址 二.完整代码示例 一.验证二维数组内存是线性的 验证二维数组内存是线性的 : 验证方 ...
最新文章
- SAP HANA插上32路CPU,性能多大飞跃?
- [Spring]IoC容器之进击的注解
- 《软件工艺师:专业、务实、自豪》一2.8 小结
- sonar plugin DefaultMeasure与DefaultHighlighting
- 10月数据库排行:Microsoft SQL Server分数增加最多
- 20级:班级日常分享,一天一瞬间
- 3级调度 fpga_FPGA的软核、硬核、固核
- gentoo linux 分区_小白安装Gentoo Linux操作系统——磁盘分区
- fastjson 序列化时指定json的key值
- 开源软件软件著作权执照详细研究和实例分析
- 目标检测数据集制作常用脚本集合
- (Origin教程)在图片和表格中插入Latex公式
- sklearn中的降维算法(PCA)(原理相关)-1
- bonecp通过servicename连接oracle,使用Java连接池连接Oracle数据库
- Python爬虫--urllib
- C语言——函数的综合运用。自定义函数,gotoxy清屏函数与HideCursor隐藏光标,防闪屏,共同制作打飞机游戏。
- 历年美赛赛题和特等奖论文集合,文中直接获取!!!
- python教你生成动态二维码
- 服务器的硬件设备及raid
- CTFmisc图像题(zsteg取zip、压缩包重组、IDAT数据隐写、Markdown编写LaTeX、零宽字节隐写)
热门文章
- VirtuaNES.v0.97源码探究3 卷轴查看器
- 九州云出席全球人工智能开发者先锋大会,圆桌论道开源未来
- uniapp chooseimage 图片缓存 (安卓端uni.chooseImage方法在拍照时,有的手机会在应用目录下的files/DCIM文件夹下产生并没有被使用的图片 )
- 【调剂】华东交通大学软件学院2022年硕士研究生招生预调剂信息公告
- 救活被微软封杀的Windows XP操作系统(转)
- 学会用hijackthis看日志
- 常见电脑硬件故障有哪些?如何解决?~~~硬盘故障
- python对建筑设计的作用_Python 与深度学习有哪些与建筑设计相接轨的可能性?...
- UI设计师常用的8款工具介绍,建议收藏!
- 美国容错服务器维修,Stratus美国容错首推四核容错服务器