数组如下

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)
}