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 相关文章推荐
深入了解php4(1)--回到未来
Oct 09 PHP
实现了一个PHP5的getter/setter基类的代码
Feb 25 PHP
PHP strtr() 函数使用说明
Nov 21 PHP
查找mysql字段中固定字符串并替换的几个方法
Sep 23 PHP
PHP中实现生成静态文件的方法缓解服务器压力
Jan 07 PHP
php实现四舍五入的方法小结
Mar 03 PHP
jquery不支持toggle()高(新)版本的问题解决
Sep 24 PHP
php获取POST数据的三种方法实例详解
Dec 20 PHP
IIS 7.5 asp Session超时时间设置方法
Apr 17 PHP
PHP简单实现合并2个数字键数组值的方法
May 30 PHP
redis+php实现微博(三)微博列表功能详解
Sep 23 PHP
用php实现分页效果的示例代码
Dec 10 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 checkbox复选框值的获取与checkbox默认值输出方法
2010/05/15 PHP
PHP中获取文件创建日期、修改日期、访问时间的方法
2016/11/05 PHP
提高javascript效率 一次判断,而不要次次判断
2012/03/30 Javascript
nodejs教程之入门
2014/11/21 NodeJs
省市区三级联动下拉框菜单javascript版
2015/08/11 Javascript
jQuery实现Flash效果上下翻动的中英文导航菜单代码
2015/09/22 Javascript
jQuery 1.9.1源码分析系列(十)事件系统之绑定事件
2015/11/19 Javascript
jquery if条件语句的写法
2016/05/19 Javascript
Js类的静态方法与实例方法区分及jQuery拓展的两种方法
2016/06/03 Javascript
在localStorage中存储对象数组并读取的方法
2016/09/24 Javascript
Bootstrap输入框组件使用详解
2017/06/09 Javascript
浅谈JS封闭函数、闭包、内置对象
2017/07/18 Javascript
js实现rem自动匹配计算font-size的示例
2017/11/18 Javascript
jQuery创建及操作xml格式数据示例
2018/05/26 jQuery
bootstrap自定义样式之bootstrap实现侧边导航栏功能
2018/09/10 Javascript
Vue中的vue-resource示例详解
2018/11/02 Javascript
微信小程序 腾讯地图显示偏差问题解决
2019/07/27 Javascript
三剑客:offset、client和scroll还傻傻分不清?
2020/12/04 Javascript
[04:30]显微镜下的DOTA2第五期——拉比克
2013/09/26 DOTA
Python多继承顺序实例分析
2018/05/26 Python
python实现ftp文件传输系统(案例分析)
2020/03/20 Python
python开发入门——列表生成式
2020/09/03 Python
美国酒店控股公司:Choice Hotels
2018/06/15 全球购物
英国最大的香水商店:The Fragrance Shop
2018/07/06 全球购物
GAZMAN官网:澳大利亚领先的男装品牌
2019/12/19 全球购物
新西兰购物网站:TheMarket NZ
2020/09/19 全球购物
俄罗斯茶和咖啡网上商店:Tea.ru
2021/01/26 全球购物
牛津在线药房:Oxford Online Pharmacy
2020/11/16 全球购物
网上快餐厅创业计划书
2014/02/01 职场文书
荷叶圆圆教学反思
2014/02/01 职场文书
大学班级干部的自我评价分享
2014/02/10 职场文书
2015年助残日活动总结
2015/03/27 职场文书
员工福利申请报告
2015/05/15 职场文书
遗嘱格式范本
2015/08/07 职场文书
2019年教师入党申请书
2019/06/27 职场文书
go语言求任意类型切片的长度操作
2021/04/26 Golang