php 移除数组重复元素的一点说明


Posted in PHP onNovember 27, 2008

如:

$test_array=array(1,2,3,4,4,5,5,6); 
$test_array_unique=array_unique($test_array); 
print_r($test_array_unique); 
$test_array=array(1,2,3,4,4,5,5,6); 
$test_array_unique=array_unique($test_array); 
print_r($test_array_unique);
但是至此,不要粗心,事还没结束。细心的看你会发现经管重复的元素被移除了,但是剩下来这些元素的索引没有变化,这样的话如果用for循环调用这个数组元素的时候就会发生错误了,因为for循环的时候是按照数字递增,而且大多数人用的是count($test_array_unique)来获得数组的大小,这样就会造成一些元素被遗漏;
$test_array=array(1,2,3,4,4,5,5,6); 
$test_array_unique=array_unique($test_array); 
for($i=0;$i<count($test_array_unique);$i++) 
{ 
echo $test_array_unique[$i]; 
} 
$test_array=array(1,2,3,4,4,5,5,6); 
$test_array_unique=array_unique($test_array); 
for($i=0;$i<count($test_array_unique);$i++) 
{ 
echo $test_array_unique[$i]; 
}
这样你不会看到元素6被输出,因为6的索引是8,处理前的数组和处理后的数组索引没有任何改变;
解决办法:
当然,这里解决办法太多了,我介绍的只是一种我觉得比较简单的方法,那就是函数array_values,array_values是返回数组的值,跟索引没有关系,这样处理后会形成一个新的数组,严格按照数字递增的索引,这样再使用for循环输出边一切OK了!
$test_array=array(1,2,3,4,4,5,5,6); 
$test_array_unique=array_values(array_unique($test_array)); 
for($i=0;$i<count($test_array_unique);$i++) 
{ 
echo $test_array_unique[$i]; 
}
PHP 相关文章推荐
封装一个PDO数据库操作类代码
Sep 09 PHP
php面向对象全攻略 (三)特殊的引用“$this”的使用
Sep 30 PHP
PHP strtok()函数的优点分析
Mar 02 PHP
基于PHP编程注意事项的小结
Apr 27 PHP
PHP多例模式介绍
Jun 24 PHP
PHP导航下拉菜单的实现如此简单
Sep 22 PHP
php实现的简单美国商品税计算函数
Jul 13 PHP
php+ajax登录跳转登录实现思路
Jul 31 PHP
PHPCMS忘记后台密码的解决办法
Oct 30 PHP
PHP性能分析工具xhprof的安装使用与注意事项
Dec 19 PHP
解决laravel查询构造器中的别名问题
Oct 17 PHP
PHPstorm启用自动换行的方法详解(IDE)
Sep 17 PHP
PHP 遍历XP文件夹下所有文件
Nov 27 #PHP
cmd下运行php脚本
Nov 25 #PHP
PHPMailer安装方法及简单实例
Nov 25 #PHP
php miniBB中文乱码问题解决方法
Nov 25 #PHP
php AJAX实例根据邮编自动完成地址信息
Nov 23 #PHP
php 删除无限级目录与文件代码共享
Nov 22 #PHP
PHP strtr() 函数使用说明
Nov 21 #PHP
You might like
php strlen mb_strlen计算中英文混排字符串长度
2009/07/10 PHP
php的数组与字符串的转换函数整理汇总
2013/07/18 PHP
php操作memcache缓存方法分享
2015/06/03 PHP
PHP中的正则表达式实例详解
2017/04/25 PHP
PHP编程获取各个时间段具体时间的方法
2017/05/26 PHP
PHP错误处理函数register_shutdown_function使用示例
2017/07/03 PHP
超级简单的图片防盗(HTML),好用
2007/04/08 Javascript
js 判断checkbox是否选中的实现代码
2010/11/23 Javascript
jquery animate图片模向滑动示例代码
2011/01/26 Javascript
window resize和scroll事件的基本优化思路
2014/04/29 Javascript
jquery左边浮动到一定位置时显示返回顶部按钮
2014/06/05 Javascript
jQuery应用之jQuery链用法实例
2015/01/19 Javascript
jQuery实现仿百度首页滑动伸缩展开的添加服务效果代码
2015/09/09 Javascript
JS表格组件神器bootstrap table详解(强化版)
2016/05/26 Javascript
node.js 动态执行脚本
2016/06/02 Javascript
浅谈javascript中的加减时间
2016/07/12 Javascript
js实现移动端微信页面禁止字体放大
2017/02/16 Javascript
文本溢出插件jquery.dotdotdot.js使用方法详解
2017/06/22 jQuery
简单实现js上传文件功能
2017/08/21 Javascript
在Vue.js中使用Mixins的方法
2017/09/12 Javascript
IE浏览器下JS脚本提交表单后,不能自动提示问题解决方法
2019/06/04 Javascript
JS使用正则表达式提交页面验证的代码
2019/10/16 Javascript
[43:48]Ti4正赛第一天 VG vs NEWBEE 2
2014/07/19 DOTA
python对象转字典的两种实现方式示例
2019/11/07 Python
Pycharm IDE的安装和使用教程详解
2020/04/30 Python
HTML5 通信API 跨域门槛将不再高、数据推送也不再是梦
2013/04/25 HTML / CSS
美国大型的健身社区和补充商店:Bodybuilding.com
2016/09/06 全球购物
室内设计专业自荐信
2014/05/31 职场文书
查摆问题对照检查材料
2014/08/28 职场文书
党的群众路线教育实践活动查摆问题及整改措施
2014/10/10 职场文书
教师考核表个人总结
2015/02/12 职场文书
2015年求职自荐信范文
2015/03/04 职场文书
指导老师鉴定意见
2015/06/05 职场文书
小学科学课教学反思
2016/02/23 职场文书
【HBU】数据库第四周 单表查询
2021/04/05 SQL Server
Java使用JMeter进行高并发测试
2021/11/23 Java/Android