实战案例:PHP快速实现数组去重的注意事项有哪些
2021-06-27
这次给大家带来PHP快速实现数组去重。 PHP快速实现数组去重有哪些注意事项?下面是一个实际案例。我们来看看。
概述
使用 PHP 的 () 函数可以传递数组,然后删除重复值,并返回具有唯一值的数组。此功能在大多数情况下运行良好。但是,如果您尝试在大型数组中使用 () 函数,它会运行得更慢。
有一个更好更快的函数 () 而不是使用 () 函数来创建唯一的数组。这个神奇的函数交换数组中每个元素的键值php函数实现数组去重,因为键值必须是唯一的,所以你会得到和()函数一样的结果。
PHP 代码:
/* 创建一个包含重复值的,一共四个元素的数组 */ $array = array('green','blue','orange','blue'); /* 翻转数组,你将会得到唯一键值的数组 array('green'=>0,'blue'=>1,'orange'=>2); */ $array = array_flip($array); /* 然后再翻转一次,将键和值重新放置,然后得到数组:array(0=>'green',1=>'blue',2=>'orange'); */ $array = array_flip($array); print_r($array)
运行结果:
Array ( [0] => green [3] => blue [2] => orange )
因为我们移除了一些元素,数组看起来不像一个正常的序列。例如,我们可能得到:(0=>'A',2=>'B',5=>'C');。在某些情况下,这不是问题,但是如果您需要数组的键来维护数字的顺序,则可以使用一两种方法来解决键值乱序的问题。
使用修复阵列的钥匙
添加的函数会对数组的键值进行排序php函数实现数组去重,恢复到正常顺序,如:0,1,2,3...
PHP 代码:
运行结果同上
第二种方式,使用
请注意,这种修复数组键的方法比使用 () 函数稍快。也可以结合上一步的()函数(该函数返回翻转后的值)。然后当你翻转数组的值时,键值是按照顺序创建的。
PHP 代码:
$array = array('green','blue','orange','blue'); $array = array_flip($array); /* 跟第一个例子一样,但是现在我们先提取数组的键值 */ $array = array_keys($array); print_r($array)
相信看完本文的案例你已经掌握了方法。更多精彩请关注php中文网其他相关文章!