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 相关文章推荐
攻克CakePHP系列一 连接MySQL数据库
Oct 22 PHP
PHP nl2br函数 将换行字符转成 &amp;lt;br&amp;gt;
Aug 21 PHP
php下将XML转换为数组
Jan 01 PHP
php使用curl和正则表达式抓取网页数据示例
Apr 13 PHP
php项目中百度 UEditor 简单安装调试和调用
Jul 15 PHP
wampserver改变默认网站目录的办法
Aug 05 PHP
php代码检查代理ip的有效性
Aug 19 PHP
Laravel使用支付宝进行支付的示例代码
Aug 16 PHP
php实现的AES加密类定义与用法示例
Jan 29 PHP
Yii2.0实现的批量更新及批量插入功能示例
Jan 29 PHP
tp5.1 框架join方法用法实例分析
May 26 PHP
Thinkphp5框架中引入Markdown编辑器操作示例
Jun 03 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
桌面中心(二)数据库写入
2006/10/09 PHP
php 读取文件乱码问题
2010/02/20 PHP
php 判断访客是否为搜索引擎蜘蛛的函数代码
2011/07/29 PHP
php中设置多级目录session的问题
2011/08/08 PHP
PHP读取CURL模拟登录时生成Cookie文件的方法
2014/11/04 PHP
php+ajax无刷新分页实例详解
2015/12/07 PHP
PHP读取CSV大文件导入数据库的实例
2017/07/24 PHP
javascript dom 操作详解 js加强
2009/07/13 Javascript
extjs中grid中嵌入动态combobox的应用
2011/01/01 Javascript
jQuery 1.5最新版本的改进细节分析
2011/01/19 Javascript
node.js中的console.trace方法使用说明
2014/12/09 Javascript
纯javascript实现图片延时加载方法
2015/08/21 Javascript
设置jQueryUI DatePicker默认语言为中文
2016/06/04 Javascript
详解js中的apply与call的用法
2016/07/30 Javascript
基于jQuery解决ios10以上版本缩放问题
2017/11/03 jQuery
vue引入新版 vue-awesome-swiper插件填坑问题
2018/01/25 Javascript
vue checkbox 全选 数据的绑定及获取和计算方法
2018/02/09 Javascript
微信小程序版本自动更新的方法
2019/06/14 Javascript
微信小程序框架的页面布局代码
2019/08/17 Javascript
JavaScript 几种循环方式以及模块化的总结
2020/09/03 Javascript
JavaScript手写数组的常用函数总结
2020/11/22 Javascript
python不带重复的全排列代码
2013/08/13 Python
python中利用await关键字如何等待Future对象完成详解
2017/09/07 Python
python抽取指定url页面的title方法
2018/05/11 Python
纪念九一八事变演讲稿:牢记历史,捍卫主权
2014/09/14 职场文书
农业局党的群众路线教育实践活动整改方案
2014/09/20 职场文书
幼儿园欢迎词范文
2015/01/26 职场文书
社区六一儿童节活动总结
2015/02/11 职场文书
出国导师推荐信
2015/03/25 职场文书
大学毕业晚会开场白
2015/05/29 职场文书
淮海战役观后感
2015/06/11 职场文书
教您怎么制定西餐厅运营方案 ?
2019/07/05 职场文书
自定义函数实现单词排序并运用于PostgreSQL(实现代码)
2021/04/22 PostgreSQL
MySQL基础快速入门知识总结(附思维导图)
2021/09/25 MySQL
Pandas搭配lambda组合使用详解
2022/01/22 Python
如何使用python包中的sched事件调度器
2022/04/30 Python