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 相关文章推荐
用Flash图形化数据(一)
Oct 09 PHP
IIS6+PHP5+MySQL5+Zend Optimizer+phpMyAdmin安装配置图文教程 2009年
Jun 08 PHP
php分页思路以及在ZF中的使用
May 30 PHP
CI框架开发新浪微博登录接口源码完整版
May 28 PHP
自己写的兼容低于PHP 5.5版本的array_column()函数
Oct 24 PHP
php的curl封装类用法实例
Nov 07 PHP
php+mysql结合Ajax实现点赞功能完整实例
Jan 30 PHP
Apache启动报错No space left on device: AH00023该怎么解决
Oct 16 PHP
Thinkphp框架中D方法与M方法的区别
Dec 23 PHP
PHP控制反转(IOC)和依赖注入(DI)
Mar 13 PHP
PHP操作MongoDB实现增删改查功能【附php7操作MongoDB方法】
Apr 24 PHP
PHP PDOStatement::getAttribute讲解
Feb 01 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留言本实例代码
2010/05/09 PHP
phpmyadmin3 安装配置图解教程
2012/03/29 PHP
php打开文件fopen函数的使用说明
2013/07/05 PHP
又一个PHP实现的冒泡排序算法分享
2014/08/21 PHP
PHP获取文件行数的方法
2015/06/10 PHP
php+ajax无刷新上传图片实例代码
2015/11/17 PHP
js调用打印机打印网页字体总是缩小一号的解决方法
2014/01/24 Javascript
jQuery遍历DOM节点操作之filter()方法详解
2016/04/14 Javascript
详解nodejs 文本操作模块-fs模块(一)
2016/12/22 NodeJs
浅谈angular2 组件的生命周期钩子
2017/08/12 Javascript
详解element-ui中form验证杂记
2019/03/04 Javascript
JS中的防抖与节流及作用详解
2019/04/01 Javascript
零基础写python爬虫之爬虫框架Scrapy安装配置
2014/11/06 Python
详解Python中的变量及其命名和打印
2016/03/11 Python
Python简单实现TCP包发送十六进制数据的方法
2016/04/16 Python
Python实现自动登录百度空间的方法
2017/06/10 Python
全面了解Nginx, WSGI, Flask之间的关系
2018/01/09 Python
Python简单实现网页内容抓取功能示例
2018/06/07 Python
利用Python如何实现一个小说网站雏形
2018/11/23 Python
Python实现字典按key或者value进行排序操作示例【sorted】
2019/05/03 Python
keras获得某一层或者某层权重的输出实例
2020/01/24 Python
python Canny边缘检测算法的实现
2020/04/24 Python
python基于exchange函数发送邮件过程详解
2020/11/06 Python
CSS3 实现footer 固定在底部(无论页面多高始终在底部)
2019/10/15 HTML / CSS
女装和独特珠宝:Sundance Catalog
2018/09/19 全球购物
Marlies Dekkers内衣荷兰官方网店:荷兰奢侈内衣品牌
2020/03/27 全球购物
如何写出好的Java代码
2014/04/25 面试题
早餐连锁店计划书
2014/01/08 职场文书
应届生简历中的自我评价
2014/01/13 职场文书
品牌推广策划方案
2014/05/28 职场文书
幼师求职信
2014/06/23 职场文书
学校与家长安全责任书
2014/07/23 职场文书
工作态度不端正检讨书
2014/10/04 职场文书
综合素质自我评价评语
2015/03/06 职场文书
消防演习通知
2015/04/25 职场文书
使用nginx配置访问wgcloud的方法
2021/06/26 Servers