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 相关文章推荐
如何过滤高亮显示非法字符
Oct 09 PHP
深入了解php4(1)--回到未来
Oct 09 PHP
基于mysql的bbs设计(四)
Oct 09 PHP
PHP中ini_set和ini_get函数的用法小结
Feb 18 PHP
支持中文和其他编码的php截取字符串函数分享(截取中文字符串)
Mar 13 PHP
php实现图片转换成ASCII码的方法
Apr 03 PHP
php文件包含目录配置open_basedir的使用与性能详解
Apr 03 PHP
php删除数组指定元素实现代码
May 03 PHP
yii2中关于加密解密的那些事儿
Jun 12 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
Jun 13 PHP
PHP文件操作实例总结【文件上传、下载、分页】
Dec 08 PHP
Thinkphp 框架扩展之类库扩展操作详解
Apr 23 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投票系统防刷票判断流程分析
2012/02/04 PHP
php获取发送给用户的header信息的方法
2015/03/16 PHP
LaravelS通过Swoole加速Laravel/Lumen详解
2018/03/02 PHP
ThinkPHP3.2.3框架Memcache缓存使用方法实例总结
2019/04/15 PHP
JavaScript 无符号右移运算符
2009/04/17 Javascript
THREE.JS入门教程(6)创建自己的全景图实现步骤
2013/01/25 Javascript
jquery选择器-根据多个属性选择示例代码
2013/10/21 Javascript
nodejs导出excel的方法
2015/06/30 NodeJs
jquery实现选中单选按钮下拉伸缩效果
2015/08/06 Javascript
JavaScript运行过程中的“预编译阶段”和“执行阶段”
2015/12/16 Javascript
FullCalendar日历插件应用之数据展现(一)
2015/12/23 Javascript
深入浅析JavaScript中数据共享和数据传递
2016/04/25 Javascript
解决Vue+Element ui开发中碰到的IE问题
2018/09/03 Javascript
[52:26]完美世界DOTA2联赛决赛 FTD vs Phoenix 第一场 11.08
2020/11/11 DOTA
python 从远程服务器下载东西的代码
2013/02/10 Python
利用Django框架中select_related和prefetch_related函数对数据库查询优化
2015/04/01 Python
Python聊天室实例程序分享
2016/01/05 Python
python快速建立超简单的web服务器的实现方法
2018/02/17 Python
Python Pillow Image Invert
2019/01/22 Python
python3+PyQt5 自定义窗口部件--使用窗口部件样式表的方法
2019/06/26 Python
Python 如何提高元组的可读性
2019/08/26 Python
使用虚拟环境打包python为exe 文件的方法
2019/08/29 Python
python3连接kafka模块pykafka生产者简单封装代码
2019/12/23 Python
Python ORM编程基础示例
2020/02/02 Python
Pycharm自动添加文件头注释和函数注释参数的方法
2020/10/23 Python
解决Python 写文件报错TypeError的问题
2020/10/23 Python
简单掌握CSS3中resize属性的用法
2016/04/01 HTML / CSS
美国性感女装网站:bebe
2017/03/04 全球购物
外语系毕业生找工作的求职信
2013/11/28 职场文书
医生进修自我鉴定
2014/01/19 职场文书
大学毕业寄语大全
2014/04/10 职场文书
园林专业毕业生自荐信
2014/07/04 职场文书
美德少年事迹材料500字
2014/08/19 职场文书
2014年流动人口工作总结
2014/11/26 职场文书
开会通知
2015/04/20 职场文书
高中升旗仪式主持词
2015/07/03 职场文书