php数组去重函数自己实现,php二维数组去重

php数组去重函数自己实现,php二维数组去重,PHP数组去重的更快实现方式分析

本文主要介绍了php数组重复数据删除的快速实现,并结合实例比较分析了PHP数组重复数据删除的各种常见操作技巧和注意事项。有需要的可以参考一下。

本文展示了PHP阵列重复数据删除的更快实现。分享给你,供你参考,如下:

概述

使用PHP的array_unique()函数可以传递一个数组,然后删除重复值并返回一个具有唯一值的数组。这个函数在大多数情况下都能很好地工作。但是,如果您尝试在大型数组中使用array_unique()函数,它会运行得更慢。

有一个更好更快的函数array_flip()代替使用array_unique()函数创建唯一数组。这个神奇的函数会交换数组中每个元素的键值,因为键值必须是唯一的,所以你会得到和array_unique()函数一样的结果。

PHP代码:

/*创建包含四个重复值的元素的数组*/

$array=array(绿色,蓝色,橙色,蓝色);

/*翻转数组,你将得到一个唯一键值的数组

数组(绿色=0,蓝色=1,橙色=2);*/

$ array=array _ flip($ array);

/*然后再翻转一次,重新定位键和值,然后得到数组:array (0= green ,1= blue ,2= orange );*/

$ array=array _ flip($ array);

print_r($array)

运行结果:

排列

[0]=绿色

[3]=蓝色

[2]=橙色

)

因为我们已经删除了一些元素,数组看起来不像一个正常的序列。比如我们可能会得到:array(0=A ,2=B ,5= C );在某些情况下,这不是问题,但是如果需要数组的键值来保持数字的顺序,可以用一两种方法来解决键值乱序的问题。

使用array_merge修复数组的keys

添加array_flip后的函数会对数组的键值进行排序,并恢复成正常的顺序,比如0,1,2,3…

PHP代码:

$array=array(绿色,蓝色,橙色,蓝色);

$ array=array _ flip($ array);

$ array=array _ flip($ array);

/*使用array_merge()函数修复键值*/

$ array=array _ merge($ array);

print_r($array)

运行结果同上。

第二种方式,使用array_keys

注意,这种修复数组键值的方法比使用array_merge()函数稍快。还可以在最后一步中使用array_keys()函数(该函数返回翻转后的值)。然后当您翻转数组的值时,键值将按顺序创建。

PHP代码:

$array=array(绿色,蓝色,橙色,蓝色);

$ array=array _ flip($ array);

/*与第一个示例相同,但现在我们先提取数组的键值*/

$ array=array _ keys($ array);

print_r($array)

运行结果同上。

结论

很简单,与在大型数组中使用array_unique函数相比,它具有有效的性能提升。

PS:本站还有两款比较简单实用的在线文本去重复工具,推荐给大家使用:

在线重复数据删除工具:

http://tools.jb51.net/code/quchong

在线文本重复数据删除工具:

http://tools.jb51.net/aideddesign/txt_quchong

更多对PHP相关内容感兴趣的读者,请查看我们的专题:《PHP数组(Array)操作技巧大全》、《PHP常用遍历算法与技巧总结》、《php字符串(string)用法总结》、《php常用函数与技巧总结》、《PHP错误与异常处理方法总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《PHP数学运算技巧总结》和0755-79000。

希望这篇文章对大家的PHP编程有所帮助。

php数组去重函数自己实现,php二维数组去重