php一维数组快速去重高效率写法

数组如下

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)

温馨提示:
1.本站大部分内容均收集于网络!若内容若侵犯到您的权益,请发送邮件至:duhaomu@163.com,我们将第一时间处理!
2.资源所需价格并非资源售卖价格,是收集、整理、编辑详情以及本站运营的适当补贴,并且本站不提供任何免费技术支持。
3.所有资源仅限于参考和学习,版权归原作者所有,更多请阅读网站声明

给TA赞赏
共{{data.count}}人
人已赞赏
未整理

吴师傅烧烤技术教程视频,烧烤配料/配方教程

2021-5-12 0:00:00

未整理

苍穹影视V20 全新后台+七彩苍穹视界全开源源码+安装教程

2021-5-14 0:00:00

0 条回复 A文章作者 M管理员
----《》
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索