本文由 发布,转载请注明出处,如有问题请联系我们! 发布时间: 2021-05-13php一维数组快速去重高效率写法
加载中数组如下
array(101) { [0] => int(100001) [1] => int(100002) [2] => int(100003) [3] => int(100001) [4] => int(100004) [5] => int(100002) [6] => int(100003) [7] => int(100001) [8] => int(100004) [9] => int(100005) [10] => int(100006) [11] => int(108836) [12] => int(108837) [13] => int(108838) [14] => int(108839) [15] => int(100005) }
最常见的做法是使用php的函数,但效率却不高
$result = array_unique($arr);
print_r($result);
可以用php的另外一个函数来解决
使用键值互换,达到去重目的,但是输出的结果索引是会变的
重新建立索引有两个函数可以解决array_merge()和array_values()
这两个函数array_values()的效率会更高一点,推荐用
$list = array_flip(array_flip($arr));$list = array_values($list);
结果输出-搞定-启蒙博客实际测试时数据比较长,所以删掉了数组中的一部分用来演示,所以你看到的代码里数组的数量会出现不同
array(90) { [0] => int(100001) [1] => int(100002) [2] => int(100003) [3] => int(100004) [4] => int(100005) [5] => int(100006) [6] => int(108836) [7] => int(108837) [8] => int(108838) [9] => int(108839) [10] => int(100007) [11] => int(100008) [12] => int(100009) [13] => int(100010) [14] => int(100011) [15] => int(100012) [16] => int(100013) [17] => int(100014) [18] => int(100015) }
点赞(0)