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 MemCached高级缓存配置图文教程
Aug 05 PHP
php header Content-Type类型小结
Jul 03 PHP
fgetcvs在linux的问题
Jan 15 PHP
Php Ctemplate引擎开发相关内容
Mar 03 PHP
PHP中实现生成静态文件的方法缓解服务器压力
Jan 07 PHP
PHP的mysqli_query参数MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的区别
Sep 29 PHP
php通过获取头信息判断图片类型的方法
Jun 26 PHP
PHP面向对象自动加载机制原理与用法分析
Oct 14 PHP
PHP对象相关知识总结
Apr 09 PHP
ThinkPHP 在阿里云上的nginx.config配置实例详解
Oct 11 PHP
Laravel的Auth验证Token验证使用自定义Redis的例子
Sep 30 PHP
详解PHP设计模式之依赖注入模式
May 25 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学习笔记之二 php入门知识
2011/01/12 PHP
PHP开发规范手册之PHP代码规范详解
2011/01/13 PHP
PHP数据流应用的一个简单实例
2012/09/14 PHP
php 获取本地IP代码
2013/06/23 PHP
jQuery入门问答 整理的几个常见的初学者问题
2010/02/22 Javascript
扩展javascript的Date方法实现代码(prototype)
2010/11/20 Javascript
js取消单选按钮选中并判断对象是否为空
2013/11/14 Javascript
JQuery记住用户名密码实现下次自动登录功能
2015/04/27 Javascript
不依赖Flash和任何JS库实现文本复制与剪切附源码下载
2015/10/09 Javascript
JS从一组数据中找到指定的单条数据的方法
2016/06/02 Javascript
Jquery根据浏览器窗口改变调整大小的方法
2017/02/07 Javascript
详解vue2.0+vue-video-player实现hls播放全过程
2018/03/02 Javascript
解决ele ui 表格表头太长问题的实现
2019/11/13 Javascript
ant design的table组件实现全选功能以及自定义分页
2020/11/17 Javascript
[00:16]热血竞技场
2019/03/06 DOTA
Python自定义函数的创建、调用和函数的参数详解
2014/03/11 Python
python re正则表达式模块(Regular Expression)
2014/07/16 Python
python pygame实现方向键控制小球
2019/05/17 Python
使用django和vue进行数据交互的方法步骤
2019/11/11 Python
django admin后管定制-显示字段的实例
2020/03/11 Python
python不相等的两个字符串的 if 条件判断为True详解
2020/03/12 Python
深入了解Python 方法之类方法 &amp; 静态方法
2020/08/17 Python
Pycharm创建文件时自动生成文件头注释(自定义设置作者日期)
2020/11/24 Python
css3 边框、背景、文本效果的实现代码
2018/03/21 HTML / CSS
暇步士官网:Hush Puppies
2016/09/22 全球购物
人民调解员培训方案
2014/06/05 职场文书
公司授权委托书范文
2014/09/21 职场文书
2014年学生管理工作总结
2014/12/20 职场文书
酒店优秀员工推荐信
2015/03/24 职场文书
股东大会通知
2015/04/24 职场文书
反邪教警示教育活动总结
2015/05/09 职场文书
2015年行风建设工作总结
2015/05/15 职场文书
2015初中生物教研组工作总结
2015/07/21 职场文书
煤矿隐患排查制度
2015/08/05 职场文书
2019年汽车租赁合同范本!
2019/08/12 职场文书
总结Pyinstaller打包的高级用法
2021/06/28 Python