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
php访问查询mysql数据的三种方法
Oct 09 PHP
php,ajax实现分页
Mar 27 PHP
php模板中出现空行解决方法
Mar 08 PHP
php简单对象与数组的转换函数代码(php多层数组和对象的转换)
May 18 PHP
php代码运行时间查看类代码分享
Aug 06 PHP
JavaScript实现滚动栏效果的方法
Apr 27 PHP
typecho插件编写教程(三):保存配置
May 28 PHP
Yii2搭建后台并实现rbac权限控制完整实例教程
Apr 28 PHP
php面向对象编程self和static的区别
May 08 PHP
PHP符合PSR编程规范的实例分享
Dec 21 PHP
解决laravel查询构造器中的别名问题
Oct 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&amp;&amp;mysql)三
2006/10/09 PHP
使用php伪造referer的方法 利用referer防止图片盗链
2014/01/20 PHP
php恢复数组的key为数字序列的方法
2015/04/28 PHP
PHP随机获取未被微信屏蔽的域名(微信域名检测)
2017/03/19 PHP
javascript 有趣而诡异的数组
2009/04/06 Javascript
jQueryUI写一个调整分类的拖放效果实现代码
2012/05/10 Javascript
jquery 跳到顶部和底部动画2句代码简单实现
2013/07/18 Javascript
JavaScript实现鼠标滑过图片变换效果的方法
2015/04/16 Javascript
使用jQuery Mobile框架开发移动端Web App的入门教程
2016/05/17 Javascript
vue页面跳转后返回原页面初始位置方法
2018/02/11 Javascript
vue实现tab切换外加样式切换方法
2018/03/16 Javascript
Vue前端开发规范整理(推荐)
2018/04/23 Javascript
vue框架下部署上线后刷新报404问题的解决方案(推荐)
2019/04/03 Javascript
vuex 中插件的编写案例解析
2019/06/10 Javascript
微信小程序设置滚动条过程详解
2019/07/25 Javascript
vue项目打包之开发环境和部署环境的实现
2020/04/23 Javascript
[16:04]DOTA2海涛带你玩炸弹 9月5日更新内容详解
2014/09/05 DOTA
python获取目录下所有文件的方法
2015/06/01 Python
Python守护进程用法实例分析
2015/06/04 Python
Python编程中的文件操作攻略
2015/10/16 Python
python获取地震信息 微信实时推送
2019/06/18 Python
Python Threading 线程/互斥锁/死锁/GIL锁
2019/07/21 Python
CSS实现的一闪而过的图片闪光效果
2014/04/23 HTML / CSS
Omio英国:搜索并比较便宜的巴士、火车和飞机
2019/08/27 全球购物
世界汽车零件:World Car Parts
2019/09/04 全球购物
27个经典Linux面试题及答案,你知道几个?
2013/01/10 面试题
市场营销专业个人自荐信格式
2013/09/21 职场文书
2014学年自我鉴定
2014/02/23 职场文书
端午节活动策划方案
2014/03/09 职场文书
卫生标语大全
2014/06/21 职场文书
高中班主任评语
2014/12/30 职场文书
小学五年级语文上册教学计划
2015/01/22 职场文书
销售经理岗位职责范本
2015/04/02 职场文书
用python自动生成日历
2021/04/24 Python
MongoDB orm框架的注意事项及简单使用
2021/06/20 MongoDB
WebRTC记录音视频流(web技术分享)
2022/02/24 Javascript