php如何实现数组去重
发表于:2025-02-22 作者:千家信息网编辑
千家信息网最后更新 2025年02月22日,这篇文章主要介绍"php如何实现数组去重",在日常操作中,相信很多人在php如何实现数组去重问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"php如何实现数组去重"的疑惑
千家信息网最后更新 2025年02月22日php如何实现数组去重
这篇文章主要介绍"php如何实现数组去重",在日常操作中,相信很多人在php如何实现数组去重问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"php如何实现数组去重"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
php实现数组去重的方法:1、使用array_unique方法对数组元素进行去重;2、使用array_flip方法进行去重。
本文操作环境:windows7系统、PHP7.1版、DELL G3电脑
php 数组元素快速去重
1.使用array_unique方法进行去重
对数组元素进行去重,我们一般会使用array_unique方法,使用这个方法可以把数组中的元素去重。
输出:
Array( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9)
去重后,键值会不按顺序,可以使用array_values把键值重新排序。
2.使用array_unique方法去重效率
';echo 'run time:'.(float)(($endtime-$starttime)*1000).'ms
';echo 'use memory:'.getUseMemory();/** * 获取使用内存 * @return float */function getUseMemory(){ $use_memory = round(memory_get_usage(true)/1024,2).'kb'; return $use_memory;}/** * 获取microtime * @return float */function getMicrotime(){ list($usec, $sec) = explode(' ', microtime()); return (float)$usec + (float)$sec;}?>
unique count:99run time:653.39303016663msuse memory:5120kb
使用array_unique方法去重,运行时间需要约650ms,内存占用约5m
3.更快的数组去重方法
php有一个键值互换的方法array_flip,我们可以使用这个方法去重,因为键值互换,原来重复的值会变为相同的键。
然后再进行一次键值互换,把键和值换回来则可以完成去重。
';echo 'run time:'.(float)(($endtime-$starttime)*1000).'ms
';echo 'use memory:'.getUseMemory();/** * 获取使用内存 * @return float */function getUseMemory(){ $use_memory = round(memory_get_usage(true)/1024,2).'kb'; return $use_memory;}/** * 获取microtime * @return float */function getMicrotime(){ list($usec, $sec) = explode(' ', microtime()); return (float)$usec + (float)$sec;}?>
unique count:99run time:12.840032577515msuse memory:768kb
使用array_flip方法去重,运行时间需要约18ms,内存占用约2m
因此使用array_flip方法去重比使用array_unique方法运行时间减少98%,内存占用减少4/5;
到此,关于"php如何实现数组去重"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
方法
数组
时间
元素
内存
学习
运行
更多
帮助
实用
相同
接下来
效率
文章
更快
环境
理论
电脑
知识
篇文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
oracle数据库数据量
懒猫存钱软件开发
荣耀手机服务器还是华为吗
语音转文字服务器异常
提倡清朗网络安全的征文
数据库语言区别
王者游戏中老是服务器升级
江苏千游网络技术有限公司电话
数据库修改数据类型怎么写
分行 科技 软件开发
广发银行+软件开发+待遇
经管专用数据库认证标准
关系型数据库的主要目的
购物软件开发目的
陕西安全服务器地址
广州网络安全职业学院录取线
软件开发的学费
软件开发专业适合专科生读吗
欧瑞数据库网址
网络安全微课答案
在从事网络安全方面的感悟
云服务器 性能
科技大脑互联网
小微企业管理软件开发
金华嵌入式软件开发设计
服务器开机速度慢
杭州雄狮网络技术有限公司
河南交友软件开发价钱是多少
华为全球软件开发总部落户昆明
服务器合约