
array_unique 函数是一个本机函数,可以提取数组中的不同值。 array_count_values. 也是一个本机函数,它将在数组中提取不同的值,并计算出现的次数。
Array_Count_Values通过提供不同的值的计数,实际上比Array_Unique更多的工作,最重要的是。实际上,从array_count_values的结果中提取键删除计数,并且与array_unique相同的结果。
<?php $a = array('a', 'b', 'c', 'b', 'c', 'c'); print_r(array_unique($a)); //array('a', 'b', 'c'); print_r(array_keys(array_count_values(($a))); //array('a', 'b', 'c'); ?>
奇怪的事实是array_count_values比array_unique更快。它可能是小阵列的两倍(几十价),它会随着阵列的大小而变得更快。有些,喜欢 puremango. 终于采取了在PHP中编写自己的功能,实现更高的速度。
唯一的限制是array_count_values只能计算字符串和整数值(因为如果使用某些其他类型),并且array_unique包含一个排序选项。
尽可能避免array_unique,它将加快代码执行。您可以使用array_count_values,因为它是最快的代码,但也可以使用其他快速替代方案:foreach array_keys. , 或者 array_flip. (本文的基准:‘array_unique vs array_flip.‘).