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中其实也可以用方法链
Nov 10 PHP
PHP ? EasyUI DataGrid 资料取的方式介绍
Nov 07 PHP
php中的PHP_EOL换行符详细解析
Oct 26 PHP
删除html标签得到纯文本可处理嵌套的标签
Apr 28 PHP
PHP解决URL中文GBK乱码问题的两种方法
Jun 03 PHP
Laravel框架数据库CURD操作、连贯操作总结
Sep 03 PHP
php字符串函数学习之substr()
Mar 27 PHP
PHP SPL标准库之SplFixedArray使用实例
May 12 PHP
PHP环境搭建的详细步骤
Jun 30 PHP
php微信公众平台开发(四)回复功能开发
Dec 06 PHP
Thinkphp整合微信支付功能
Dec 14 PHP
php分享朋友圈的实现代码
Feb 18 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
在JavaScript中调用php程序
2009/03/09 PHP
PHP获取毫秒级时间戳的方法
2015/04/15 PHP
微信利用PHP创建自定义菜单的方法
2016/08/01 PHP
php实现基于openssl的加密解密方法
2016/09/30 PHP
javascript 建设银行登陆键盘
2008/06/10 Javascript
jquery lazyload延迟加载技术的实现原理分析
2011/01/24 Javascript
浅析JQuery获取和设置Select选项的常用方法总结
2013/07/04 Javascript
javascript函数作用域学习示例(js作用域)
2014/01/13 Javascript
Javascript中的Array数组对象详谈
2014/03/03 Javascript
利用JavaScript检测CPU使用率自己写的
2014/03/22 Javascript
js判断登录与否并确定跳转页面的方法
2015/01/30 Javascript
Bootstrap Modal对话框如何在关闭时触发事件
2016/12/02 Javascript
微信小程序实战之上拉(分页加载)效果(2)
2017/04/17 Javascript
关于Bootstrap按钮组件消除黄框的方法
2017/05/19 Javascript
AngularJS实现表单验证功能详解
2017/10/12 Javascript
js构造函数constructor和原型prototype原理与用法实例分析
2020/03/02 Javascript
使用JS实现动态时钟
2020/03/12 Javascript
[05:35]DOTA2英雄梦之声_第13期_拉比克
2014/06/21 DOTA
[22:59]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python基于QRCode实现生成二维码的方法【下载,安装,调用等】
2017/07/11 Python
基于Django的ModelForm组件(详解)
2017/12/07 Python
python实现多张图片拼接成大图
2019/01/15 Python
Python 转换RGB颜色值的示例代码
2019/10/13 Python
python math模块的基本使用教程
2021/01/16 Python
英国时尚服饰电商:Boohoo
2017/10/12 全球购物
阿迪达斯希腊官方网上商店:adidas希腊
2019/04/06 全球购物
南京某公司笔试题
2013/01/27 面试题
团队队名口号大全
2014/06/06 职场文书
教师职位说明书
2014/07/29 职场文书
解放思想大讨论活动心得体会
2014/09/11 职场文书
家属答谢词
2015/01/05 职场文书
社区艾滋病宣传活动总结
2015/05/07 职场文书
初中教师德育工作总结2015
2015/05/12 职场文书
道歉情书大全
2015/05/12 职场文书
2015年英语教学工作总结
2015/05/25 职场文书
nginx之queue的具体使用
2022/06/28 Servers