php array_flip() 删除数组重复元素


Posted in PHP onJanuary 14, 2009

方法如下:
$arr = array(…………) ;//假设有一万个元素的数组,里面有重复的元素。
$arr = array_flip(array_flip($arr)); //这样便可以删除重复元素。

究竟是怎么回事呢?来看下array_flip()的作用:array_flip()用于将一个数组的每个元素的键和值交换,如:
$arr1 = array (”age” => 30, “name” => “快乐园”);
$arr2 = array_flip($arr1); //$arr2 就是 array(30 => “age”, “快乐园” => “name”);
在PHP的数组中,允许不同的元素可以取同一个值,但不允许同一个键名被不同的元素使用,如:
$arr1 = array (”age” => 30, “name” => “快乐园”, “age” => 20); “age” => 20将会取代”age” => 30
$arr1 = array (”name” => “快乐园”, “age” => 45);
这里 $arr1与$arr2 是相等的。
于是,我们便可以知道,为什么 array_flip(array_flip($arr)) 可以删除数组中重复的元素了。首先,$arr里的值会变成键名,因为值是有重复的,变成键名之后这些重复的值便成了重复的键名,PHP引擎将重复的键名删除,只保留最后一个。如:
$arr1 = array (”age” => 30, “name” => “快乐园”, “age” => 20);
$arr1 = array_flip($arr1); //$arr1 变成了 array(”快乐园” => “name”, 20 => “age”);
//再把 $arr1 的键名与值还复:
$arr1 = array_flip($arr1);

上面的代码写得简洁一些就是: $arr1 = array_flip(array_flip($arr1));

PHP 相关文章推荐
php&java(三)
Oct 09 PHP
php 删除无限级目录与文件代码共享
Nov 22 PHP
PHP UTF8编码内的繁简转换类
Jul 20 PHP
Windows下安装Memcached的步骤说明
Apr 25 PHP
PHP mcrypt可逆加密算法分析
Jul 19 PHP
php开发文档 会员收费1期
Aug 14 PHP
PHP编码转换
Nov 05 PHP
Linux下php5.4启动脚本
Aug 03 PHP
php数组去除空值函数分享
Feb 02 PHP
thinkphp框架实现数据添加和显示功能
Jun 29 PHP
php使用变量动态创建类的对象用法示例
Feb 06 PHP
PHP实现的解汉诺塔问题算法示例
Aug 06 PHP
PHP mkdir()定义和用法
Jan 14 #PHP
php array_intersect()函数使用代码
Jan 14 #PHP
php strtotime 函数UNIX时间戳
Jan 14 #PHP
php str_pad 函数使用详解
Jan 13 #PHP
php mssql 时间格式问题
Jan 13 #PHP
php zend 相对路径问题
Jan 12 #PHP
PHP setcookie() cannot modify header information 的解决方法
Jan 09 #PHP
You might like
汉字转化为拼音(php版)
2006/10/09 PHP
CodeIgniter php mvc框架 中国网站
2008/05/26 PHP
解析php 版获取重定向后的地址(代码)
2013/06/26 PHP
JS支持带x身份证号码验证函数
2008/08/10 Javascript
javascript 鼠标拖动图标技术
2010/02/07 Javascript
也说JavaScript中String类的replace函数
2011/09/22 Javascript
js bind 函数 使用闭包保存执行上下文
2011/12/26 Javascript
javascript 处理null及null值示例
2014/06/09 Javascript
javascript转换日期字符串为Date日期对象的方法
2015/02/13 Javascript
详解angular ui-grid之过滤器设置
2017/06/07 Javascript
vue router仿天猫底部导航栏功能
2017/10/18 Javascript
10分钟学会js处理json的常用方法
2020/12/06 Javascript
python脚本实现xls(xlsx)转成csv
2016/04/10 Python
利用Python中的pandas库对cdn日志进行分析详解
2017/03/07 Python
python脚本替换指定行实现步骤
2017/07/11 Python
python3 pillow生成简单验证码图片的示例
2017/09/19 Python
python使用opencv按一定间隔截取视频帧
2018/03/06 Python
Python把csv数据写入list和字典类型的变量脚本方法
2018/06/15 Python
python实现多张图片拼接成大图
2019/01/15 Python
Python实现求两个数组交集的方法示例
2019/02/23 Python
Python将string转换到float的实例方法
2019/07/29 Python
python使用 cx_Oracle 模块进行查询操作示例
2019/11/28 Python
tensorflow入门:TFRecordDataset变长数据的batch读取详解
2020/01/20 Python
关于python scrapy中添加cookie踩坑记录
2020/11/17 Python
详解css3 mask遮罩实现一些特效
2018/10/24 HTML / CSS
利用纯html5绘制出来的一款非常漂亮的时钟
2015/01/04 HTML / CSS
深入理解HTML5定时器requestAnimationFrame的使用
2018/12/12 HTML / CSS
街头时尚在线:JESSICABUURMAN
2019/06/16 全球购物
类如何去实现接口
2013/12/19 面试题
毕业生实习鉴定
2013/12/11 职场文书
大学生学业生涯规划
2014/01/05 职场文书
小学师德标兵先进事迹材料
2014/05/25 职场文书
2014年酒店前台工作总结
2014/11/14 职场文书
北京爱情故事观后感
2015/06/12 职场文书
长辈生日祝福语大全(72句)
2019/08/09 职场文书
Java Socket实现Redis客户端的详细说明
2021/05/26 Redis