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学习之PHP变量
Oct 09 PHP
php_screw 1.5:php加密: 安装与使用详解
Jun 20 PHP
Laravel 4 初级教程之视图、命名空间、路由
Oct 30 PHP
完美实现wordpress禁止文章修订和自动保存的方法
Nov 03 PHP
PHP集成百度Ueditor 1.4.3
Nov 23 PHP
php语言的7种基本的排序方法
Dec 28 PHP
调用WordPress函数统计文章访问量及PHP原生计数器的实现
Mar 21 PHP
PHP的Json中文处理解决方案
Sep 29 PHP
php实现websocket实时消息推送
Mar 30 PHP
PHP 布尔值的自增与自减的实现方法
May 03 PHP
浅析PHP中的 inet_pton 网络函数
Dec 16 PHP
Laravel框架源码解析之入口文件原理分析
May 14 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
VOLVO车载收音机
2021/03/02 无线电
分享PHP计算两个日期相差天数的代码
2015/12/23 PHP
PHP7如何开启Opcode打造强悍性能详解
2018/05/11 PHP
用javascript自动显示最后更新时间
2007/03/15 Javascript
js自执行函数的几种不同写法的比较
2012/08/16 Javascript
HTML复选框和单选框 checkbox和radio事件介绍
2012/12/12 Javascript
iframe窗口高度自适应的又一个巧妙实现思路
2014/04/04 Javascript
Javascript基础知识(三)BOM,DOM总结
2014/09/29 Javascript
JQuery中模拟image的ajaxPrefilter与ajaxTransport处理
2015/06/19 Javascript
javascript中加var和不加var的区别 你真的懂吗
2016/01/06 Javascript
如何用angularjs制作一个完整的表格
2016/01/21 Javascript
node.js中的事件处理机制详解
2016/11/26 Javascript
在JS中如何把毫秒转换成规定的日期时间格式实例
2017/05/11 Javascript
echarts饼图扇区添加点击事件的实例
2017/10/16 Javascript
基于Vue实现拖拽效果
2018/04/27 Javascript
vue 实现数字滚动增加效果的实例代码
2018/07/06 Javascript
Python网络爬虫与信息提取(实例讲解)
2017/08/29 Python
python读写csv文件并增加行列的实例代码
2019/08/01 Python
在pycharm中配置Anaconda以及pip源配置详解
2019/09/09 Python
tensorflow使用L2 regularization正则化修正overfitting过拟合方式
2020/05/22 Python
Python导入数值型Excel数据并生成矩阵操作
2020/06/09 Python
设计师家具购买和委托在线市场:Viyet
2016/11/16 全球购物
美国创意之家:BulbHead
2017/07/12 全球购物
Raffaello Network德国:意大利拉斐尔时尚购物网
2019/05/01 全球购物
Vuori官网:运动服装的终级表现
2021/01/27 全球购物
字符串str除首尾字符外的其他字符按升序排列
2013/03/08 面试题
小学美术教学反思
2014/02/01 职场文书
小学数学课后反思
2014/04/23 职场文书
党员承诺书怎么写
2014/05/20 职场文书
毕业实习指导教师评语
2014/12/31 职场文书
阿里云Nginx配置https实现域名访问项目(图文教程)
2021/03/31 Servers
MySQL 百万级数据的4种查询优化方式
2021/06/07 MySQL
MySQL慢查询优化解决问题
2022/03/17 MySQL
python中数组和列表的简单实例
2022/03/25 Python
Python pyecharts绘制条形图详解
2022/04/02 Python
微信小程序 WeUI扩展组件库的入门教程
2022/04/21 Javascript