看了一篇文章,讲的是更快的方式实现PHP数组去重。
不知道一个大的数组,究竟是有多大才会有区别。所以有了以下的测试。 首先模拟了一个大小是50000的数组
把其中的某些值故意改成相同的。
public function index() { $array = require('./Application/Test/Info/test.php'); G('begin'); $res = array_unique($array);// $res = array_flip(array_flip($array)); dump(count($res)); G('end'); echo G('begin','end').'S'; }
首先测试array_unique 测试结果:
int(49984)0.0260S
接着测试array_flip 测试结果:
int(49984)0.0140S
经过多次实践取得平均值最后大概相差0.01s。 最后测试了一个大小为20的数组,
int(16)0.0000000000S
两个都是这样的结果,不知道和使用TP框架有没有影响的。
总而言之,在平常开发中可以使用array_flip代替array_unique,特别是大数组的时候。