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 相关文章推荐
逐步提升php框架的性能
Jan 10 PHP
php 远程图片保存到本地的函数类
Dec 08 PHP
linux下为php添加curl扩展的方法
Jul 29 PHP
优化PHP程序的方法小结
Feb 23 PHP
php动态实现表格跨行跨列实现代码
Nov 06 PHP
基于Zend的Captcha机制的应用
May 02 PHP
PHP迭代器实现斐波纳契数列的函数
Nov 12 PHP
php堆排序实现原理与应用方法
Jan 03 PHP
php判断数组中是否存在指定键(key)的方法
Mar 17 PHP
Zend Framework教程之资源(Resources)用法实例详解
Mar 14 PHP
使用phpQuery获取数组的实例
Mar 13 PHP
php遍历目录下文件并按修改时间排序操作示例
Jul 12 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入门教程 精简版
2009/12/13 PHP
php中判断字符串是否全是中文或含有中文的实现代码
2011/09/16 PHP
php使用escapeshellarg时中文被过滤的解决方法
2016/07/10 PHP
php从数据库中获取数据用ajax传送到前台的方法
2018/08/20 PHP
动态控制Table的js代码
2007/03/07 Javascript
用JAVASCRIPT如何给&amp;lt;textarea&amp;gt;&amp;lt;/textarea&amp;gt;赋值
2007/04/20 Javascript
jQuery.autocomplete 支持中文输入(firefox)修正方法
2011/03/10 Javascript
JavaScript高级程序设计 学习笔记 js高级技巧
2011/09/20 Javascript
jquery选择器的选择使用及性能介绍
2013/01/16 Javascript
JavaScript知识点整理
2015/12/09 Javascript
给angular加上动画效遇到的问题总结
2016/02/17 Javascript
基于JS代码实现实时显示系统时间
2016/06/16 Javascript
JS自定义函数对web前端上传的文件进行类型大小判断
2016/10/19 Javascript
小程序实现发表评论功能
2018/07/06 Javascript
详解vue数组遍历方法forEach和map的原理解析和实际应用
2018/11/15 Javascript
基于vue实现移动端圆形旋钮插件效果
2018/11/28 Javascript
vue将data恢复到初始状态 &amp;&amp; 重新渲染组件实例
2020/09/04 Javascript
JS模拟实现京东快递单号查询
2020/11/30 Javascript
[15:56]Heroes18_暗影萨满(完美)
2014/10/31 DOTA
Python爬虫之模拟知乎登录的方法教程
2017/05/25 Python
Python3使用正则表达式爬取内涵段子示例
2018/04/22 Python
python爬取酷狗音乐排行榜
2019/02/20 Python
python查找重复图片并删除(图片去重)
2019/07/16 Python
Python基于pyecharts实现关联图绘制
2020/03/27 Python
Python基于当前时间批量创建文件
2020/05/07 Python
Python远程方法调用实现过程解析
2020/07/28 Python
美国嘻哈文化生活方式品牌:GLD
2018/04/15 全球购物
Parfumdreams英国:香水和化妆品
2019/05/10 全球购物
车辆安全检查制度
2014/01/12 职场文书
创业女性典型材料
2014/05/02 职场文书
计算机专业自荐信
2014/05/24 职场文书
音乐兴趣小组活动总结
2014/07/07 职场文书
2015年外联部工作总结
2015/04/03 职场文书
撤诉申请书法院范本
2015/05/18 职场文书
授权协议书范本(3篇)
2019/10/15 职场文书
SQL Server携程核心系统无感迁移到MySQL实战
2022/06/01 SQL Server