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 中的类
Oct 09 PHP
文章推荐系统(三)
Oct 09 PHP
php生成文件
Jan 15 PHP
php,ajax实现分页
Mar 27 PHP
php pcntl_fork和pcntl_fork 的用法
Apr 13 PHP
php array_filter除去数组中的空字符元素
Jun 21 PHP
CodeIgniter图像处理类的深入解析
Jun 17 PHP
PHP使用适合阅读的格式显示文件大小的方法
Mar 05 PHP
在Win2003(64位)中配置IIS6+PHP5.2.17+MySQL5.5的运行环境
Apr 04 PHP
PHP获取文本框、密码域、按钮的值实例代码
Apr 19 PHP
详解如何实现Laravel的服务容器的方法示例
Apr 15 PHP
php数组指针函数功能及用法示例
Feb 11 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+SQLite存储方案
2010/09/04 PHP
常见的四种POST 提交数据方式(小总结)
2015/10/08 PHP
gearman中任务的优先级和返回状态实例分析
2020/02/27 PHP
基于jquery的一个OutlookBar类,动态创建导航条
2010/11/19 Javascript
jQuery 全选/反选以及单击行改变背景色实例
2013/07/02 Javascript
跟我学习javascript的Date对象
2015/11/19 Javascript
js创建数组的简单方法
2016/07/27 Javascript
Bootstrap3 Grid system原理及应用详解
2016/09/30 Javascript
关于meta viewport中target-densitydpi属性详解(推荐)
2017/08/18 Javascript
基于Two.js实现星球环绕动画效果的示例
2017/11/06 Javascript
详解vue-router 初始化时做了什么
2018/06/11 Javascript
vue实现通讯录功能
2018/07/14 Javascript
JS canvas绘制五子棋的棋盘
2020/05/28 Javascript
vue微信分享到朋友圈 vue微信发送给好友
2018/11/28 Javascript
JavaScript中filter的用法实例分析
2019/02/27 Javascript
浅谈Vue.js组件(二)
2019/04/09 Javascript
webpack结合express实现自动刷新的方法
2019/05/07 Javascript
小程序怎样让wx.navigateBack更好用的方法实现
2019/11/01 Javascript
vue数据更新UI不刷新显示的解决办法
2020/08/06 Javascript
Python MySQLdb Linux下安装笔记
2015/05/09 Python
以视频爬取实例讲解Python爬虫神器Beautiful Soup用法
2016/01/20 Python
分享一下如何编写高效且优雅的 Python 代码
2017/09/07 Python
python实现画一颗树和一片森林
2018/06/25 Python
python用for循环求和的方法总结
2019/07/08 Python
Python帮你识破双11的套路
2019/11/11 Python
用Python生成HTML表格的方法示例
2020/03/06 Python
python实现经典排序算法的示例代码
2021/02/07 Python
荷兰之家英文站:Holland at Home
2016/10/26 全球购物
Europcar葡萄牙:葡萄牙汽车和货车租赁
2017/10/13 全球购物
甜点店创业计划书
2014/01/27 职场文书
工程招投标邀请书
2014/01/30 职场文书
绿色学校实施方案
2014/03/31 职场文书
贷款委托书怎么写
2014/08/02 职场文书
行政专员岗位职责说明书
2014/09/01 职场文书
mongoDB数据库索引快速入门指南
2022/03/23 MongoDB
解决Mysql报错 Table 'mysql.user' doesn't exist
2022/05/06 MySQL