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 25 PHP
一个简单的PHP&amp;MYSQL留言板源码
Jul 19 PHP
PHP详细彻底学习Smarty
Mar 27 PHP
使用bcompiler对PHP文件进行加密的代码
Aug 29 PHP
php数组函数序列之array_sum() - 计算数组元素值之和
Oct 29 PHP
解析用PHP实现var_export的详细介绍
Jun 20 PHP
php进行支付宝开发中return_url和notify_url的区别分析
Dec 22 PHP
ThinkPHP中order()使用方法详解
Apr 19 PHP
浅谈php使用curl模拟多线程发送请求
Mar 08 PHP
Yii 框架控制器创建使用及控制器响应操作示例
Oct 14 PHP
Laravel自动生成UUID,从建表到使用详解
Oct 24 PHP
PHP中isset、empty的用法与区别示例详解
Nov 05 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
第十二节 类的自动加载 [12]
2006/10/09 PHP
windows下zendframework项目环境搭建(通过命令行配置)
2012/12/06 PHP
6种php上传图片重命名的方法实例
2013/11/04 PHP
使用YUI+Ant 实现JS CSS压缩
2014/09/02 PHP
两种php去除二维数组的重复项方法
2015/11/04 PHP
PHP微信开发之有道翻译
2016/06/23 PHP
注释PHP和html混合代码的小技巧(分享)
2016/11/03 PHP
PHP完全二叉树定义与实现方法示例
2017/10/09 PHP
PHP各种常见经典算法总结【排序、查找、翻转等】
2019/08/05 PHP
jQuery学习7 操作JavaScript对象和集合的函数
2010/02/07 Javascript
(function($){...})(jQuery)的意思
2010/07/22 Javascript
jquery复选框checkbox实现删除前判断
2014/04/20 Javascript
jQuery中innerWidth()方法用法实例
2015/01/19 Javascript
原生js结合html5制作简易的双色子游戏
2015/03/30 Javascript
异步安全加载javascript文件的方法
2015/07/21 Javascript
jQuery简单实现彩色云标签效果示例
2016/08/01 Javascript
vue组件中的数据传递方法
2018/05/14 Javascript
解决axios会发送两次请求,有个OPTIONS请求的问题
2018/10/25 Javascript
babel7.x和webpack4.x配置vue项目的方法步骤
2019/05/12 Javascript
基于nodejs的微信JS-SDK简单应用实现
2019/05/21 NodeJs
vue实现axios图片上传功能
2019/08/20 Javascript
JavaScript 空间坐标的使用
2020/08/19 Javascript
js+for循环实现字符串自动转义的代码(把后面的字符替换前面的字符)
2020/12/24 Javascript
python处理圆角图片、圆形图片的例子
2014/04/25 Python
python实现搜索本地文件信息写入文件的方法
2016/02/22 Python
微信跳一跳python代码实现
2018/01/05 Python
python合并同类型excel表格的方法
2018/04/01 Python
python pandas实现excel转为html格式的方法
2018/10/23 Python
django主动抛出403异常的方法详解
2019/01/04 Python
python飞机大战pygame游戏背景设计详解
2019/12/17 Python
python读取与处理netcdf数据方式
2020/02/14 Python
关于多元线性回归分析——Python&amp;SPSS
2020/02/24 Python
windows+vscode安装paddleOCR运行环境的步骤
2020/11/11 Python
失业者真诚求职信范文
2013/12/25 职场文书
2014年母亲节演讲稿范文
2014/05/07 职场文书
VUE解决跨域问题Access to XMLHttpRequest at
2022/05/06 Vue.js