找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1342|回复: 0
打印 上一主题 下一主题

过滤掉PHP数组中的重复值的实现代码

[复制链接]

2588

主题

2588

帖子

7694

积分

论坛元老

Rank: 8Rank: 8

积分
7694
跳转到指定楼层
楼主
发表于 2018-2-14 08:40:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            [U]复制代码[/U] 代码如下:
";
print_r($arrT);
print_r($arrRF);
print_r($arrRS);
echo "";
?>

在$intTotal比较小的情况下,比如说1000以内,$intRand的取值基本不影响结果,两者执行的时间都差不多。
测试$intTotal 大于10000时,$intRand取值100时,使用array_unique的效率要高于foreach循环判断,$intRand=10,两者执行时间一致。
因此,可以得出结论,当数组容量不大,大概在1000以内时,使用两者的执行效率差不多。
当数组容量比较大时(具体应该到什么值,我没有详细测试,感兴趣的可以确定一下这个值),随着$intRand的逐渐增大,array_unique的表现更好,我不使用$intTotal/$intRand这个比值,是因为,感觉并不是成比例变化,但是基本会遵循比值越大,array_unique表现越好。
综上所述,在过滤数组重复值的时候,建议使用array_unuique,数组不大的时候两者效率等同,而array_unique使用当然让你的代码一下子减了好几行,数组容量过大时,函数的表现更好,为什么不用呢?
            
            
您可能感兴趣的文章:
  • PHP去除数组中重复的元素并按键名排序函数
  • php array_flip() 删除数组重复元素
  • php数组对百万数据进行排除重复数据的实现代码
  • php获取数组中重复数据的两种方法
  • php多维数组去掉重复值示例分享
  • PHP两种去掉数组重复值的方法比较
  • PHP获取数组中重复最多的元素的实现方法
  • php去除数组中重复数据
  • php二维数组合并及去重复的方法
  • php生成不重复随机数、数组的4种方法分享
  • 两种php去除二维数组的重复项方法
  • php删除数组中重复元素的方法
  • PHP删除二维数组中相同元素及数组重复值的方法示例
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端