PHP数组的快速实现

总结



的array_unique()函数的PHP允许你通过一个数组,然后删除重复的值,并返回一个具有独特价值的数组。这个功能可以在大多数情况下很好地工作。但是,如果你试图使用array_unique()在一个大的数组函数,它将运行慢。



There is a better and faster function array_flip () instead of using the array_unique () function to create a unique array.This magic function will exchange the keys and values of every element in the array, because the key value must be unique, so you will get the same result as the array_unique () function.



更快的方法来实现PHP数组处理




创建一个包含重复的值,总共有四个元素数组。
$array =阵列(绿色,蓝色,'orange ','蓝色');
*翻转数组,您将是惟一的键数组。
阵列(绿色= > 0,'蓝色' = > 1,'orange= > 2);。
$array = array_flip(数组);
/ *然后翻转一次,关键和重新安置的价值,然后获取数组:数组(0 = 1 = > >绿色','蓝色',2 = > 'orange);。
$array = array_flip(数组);


因为我们已经删除了一些元素,数组似乎不是一个正常的顺序。例如,我们可以得到:阵列(0 = 2 = > > A、B、C 5 = >);在某些情况下,这不是一个问题。但是,如果您需要数组键值来保存序列号,则可以使用一种或两种方法来解决键值混乱的问题。



使用array_merge固定数组的键



在加入array_flip将数组的键值排序和恢复他们的正常序列的功能,如、…


$array =阵列(绿色,蓝色,'orange ','蓝色');
$array = array_flip(数组);
$array = array_flip(数组);
使用array_merge()函数 / * * /修复的关键
$array = array_merge(数组);
U3000



第二,利用array_keys



注意,这个恢复阵列关键方法比使用array_merge快一点()函数,也可以使用array_keys()在最后一步函数(这个函数返回值后翻转),然后当你翻转数组的值,核心价值观是在订单生成。


$array =阵列(绿色,蓝色,'orange ','蓝色');
$array = array_flip(数组);
*就像第一个例子,但是我们首先提取键数组*
$array = array_keys(数组);


结论



很简单,有一个有效的性能改进相比的array_unique功能在一个大的数组的使用。