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实现二维数组去重相关推荐

  1. 千万数据去重_基于 Flink 的百亿数据去重实践

    在工作中经常会遇到去重的场景,例如基于 App 的用户行为日志分析系统,用户的行为日志从手机客户端上报到 Nginx 服务端,通过 Logstash.Flume 或其他工具将日志从 Nginx 写入到 ...

  2. java web二手书店,基于jsp的二手书交易-JavaEE实现二手书交易 - java项目源码

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的二手书交易, 该项目可用各类java课程设计大作业中, 二手书交易的系统架构分为前后台两部分, 最终实现在线上进行 ...

  3. java的书可以二手_基于jsp的二手书图书-JavaEE实现二手书图书 - java项目源码

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的二手书图书, 该项目可用各类java课程设计大作业中, 二手书图书的系统架构分为前后台两部分, 最终实现在线上进行 ...

  4. python 二维数组心得_基于python 二维数组及画图的实例详解

    python中如何使用二维数组 在Python中,一个像这样的多维表格可以通过"序列的序列"实现.一个表格是行的序列.每一行又是独立单元格的序列.这类似于小编们使用的数学记号,在数 ...

  5. AAAI 2020 | 时间可以是二维的吗?基于二维时间图的视频内容片段检测

    作者 | 彭厚文.傅建龙 来源 | 微软研究院AI头条 编者按:当时间从一维走向二维,时序信息处理问题中一种全新的建模思路由此产生.根据这种新思路及其产生的二维时间图概念,微软亚洲研究院提出一种新的解 ...

  6. Python使用numpy函数vsplit垂直(行角度)拆分numpy数组(返回拆分后的numpy数组列表)实战:垂直拆分二维numpy数组、split函数垂直拆分二维numpy数组

    Python使用numpy函数vsplit垂直(行角度)拆分numpy数组(返回拆分后的numpy数组列表)实战:垂直拆分二维numpy数组.split函数垂直拆分二维numpy数组 目录

  7. python 空数组_【python三级】二维数组的表示

    二维数据:由多个一维数据构成,是一维数据的组合形式. 表格就是典型的二维数据,其中表头是二维数组的一部分. 数组的操作: 二维数组本质上是以数组作为数组元素的数组,类型说明符,数组名,[常量表达式], ...

  8. 如何把一个二维数组的地址赋给一个二维指针?

    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 }; ...

  9. 【C 语言】数组 ( 验证二维数组内存是线性的 | 打印二维数组 | 以一维数组方式打印二维数组 | 打印二维数组值和地址 )

    文章目录 一.验证二维数组内存是线性的 1.打印二维数组 2.以一维数组方式打印二维数组 3.打印二维数组值和地址 二.完整代码示例 一.验证二维数组内存是线性的 验证二维数组内存是线性的 : 验证方 ...

最新文章

  1. SAP HANA插上32路CPU,性能多大飞跃?
  2. [Spring]IoC容器之进击的注解
  3. 《软件工艺师:专业、务实、自豪》一2.8 小结
  4. sonar plugin DefaultMeasure与DefaultHighlighting
  5. 10月数据库排行:Microsoft SQL Server分数增加最多
  6. 20级:班级日常分享,一天一瞬间
  7. 3级调度 fpga_FPGA的软核、硬核、固核
  8. gentoo linux 分区_小白安装Gentoo Linux操作系统——磁盘分区
  9. fastjson 序列化时指定json的key值
  10. 开源软件软件著作权执照详细研究和实例分析
  11. 目标检测数据集制作常用脚本集合
  12. (Origin教程)在图片和表格中插入Latex公式
  13. sklearn中的降维算法(PCA)(原理相关)-1
  14. bonecp通过servicename连接oracle,使用Java连接池连接Oracle数据库
  15. Python爬虫--urllib
  16. C语言——函数的综合运用。自定义函数,gotoxy清屏函数与HideCursor隐藏光标,防闪屏,共同制作打飞机游戏。
  17. 历年美赛赛题和特等奖论文集合,文中直接获取!!!
  18. python教你生成动态二维码
  19. 服务器的硬件设备及raid
  20. CTFmisc图像题(zsteg取zip、压缩包重组、IDAT数据隐写、Markdown编写LaTeX、零宽字节隐写)

热门文章

  1. VirtuaNES.v0.97源码探究3 卷轴查看器
  2. 九州云出席全球人工智能开发者先锋大会,圆桌论道开源未来
  3. uniapp chooseimage 图片缓存 (安卓端uni.chooseImage方法在拍照时,有的手机会在应用目录下的files/DCIM文件夹下产生并没有被使用的图片 )
  4. 【调剂】华东交通大学软件学院2022年硕士研究生招生预调剂信息公告
  5. 救活被微软封杀的Windows XP操作系统(转)
  6. 学会用hijackthis看日志
  7. 常见电脑硬件故障有哪些?如何解决?~~~硬盘故障
  8. python对建筑设计的作用_Python 与深度学习有哪些与建筑设计相接轨的可能性?...
  9. UI设计师常用的8款工具介绍,建议收藏!
  10. 美国容错服务器维修,Stratus美国容错首推四核容错服务器