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你的验证码安全码?
Jan 02 PHP
php 获取当前访问的url文件名的方法小结
Feb 08 PHP
PHP 可阅读随机字符串代码
May 26 PHP
php知道与问问的采集插件代码
Oct 12 PHP
PHP禁止页面缓存的代码
Oct 23 PHP
三个类概括PHP的五种设计模式
Sep 05 PHP
php获取数组长度的方法(有实例)
Oct 27 PHP
php通过字符串调用函数示例
Mar 02 PHP
PHP数据库操作之基于Mysqli的数据库操作类库
Apr 19 PHP
Java中final关键字详解
Aug 10 PHP
微信 getAccessToken方法详解及实例
Nov 23 PHP
PHP实现非阻塞模式的方法分析
Jul 26 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
自动把纯文本转换成Web页面的php代码
2009/08/27 PHP
关于php循环跳出的问题
2013/07/01 PHP
zend optimizer在wamp的基础上安装图文教程
2013/10/26 PHP
ThinkPHP实现多数据库连接的解决方法
2014/07/01 PHP
php数组中删除元素之重新索引的方法
2014/09/16 PHP
php实现给二维数组中所有一维数组添加值的方法
2017/02/04 PHP
纯js实现的论坛常用的运行代码的效果
2008/07/15 Javascript
extjs 为某个事件设置拦截器
2010/01/15 Javascript
JS实现商品倒计时实现代码
2013/05/03 Javascript
jquery等宽输出文字插件使用介绍
2013/09/18 Javascript
类似天猫商品详情随浏览器移动的示例代码
2014/02/27 Javascript
jQuery实现form表单元素序列化为json对象的方法
2015/12/09 Javascript
Bootstrap table分页问题汇总
2016/05/30 Javascript
Java  Spring 事务回滚详解
2016/10/17 Javascript
Bootstrap Img 图片样式(推荐)
2016/12/13 Javascript
vue新vue-cli3环境配置和模拟json数据的实例
2018/09/19 Javascript
jQuery的ztree仿windows文件新建和拖拽功能的实现代码
2018/12/05 jQuery
Vue中多个元素、组件的过渡及列表过渡的方法示例
2019/02/13 Javascript
python 正则式使用心得
2009/05/07 Python
Python高斯消除矩阵
2019/01/02 Python
Python中三元表达式的几种写法介绍
2019/03/04 Python
Python绘制股票移动均线的实例
2019/08/24 Python
基于python实现对文件进行切分行
2020/04/26 Python
Python 数据的累加与统计的示例代码
2020/08/03 Python
拿来就用!Python批量合并PDF的示例代码
2020/08/10 Python
Python基于Faker假数据构造库
2020/11/30 Python
Joseph官网:英国小众奢侈品牌
2019/05/17 全球购物
电子商务专业学生的自我鉴定
2013/11/28 职场文书
大学团支书的自我评价分享
2013/12/14 职场文书
总经理岗位职责范本
2014/02/02 职场文书
事务机电主管工作职责
2014/02/25 职场文书
灰雀教学反思
2014/04/28 职场文书
2014第二批党的群众路线教育实践活动对照检查材料思想汇报
2014/09/18 职场文书
卫校毕业生自我鉴定
2014/09/28 职场文书
投标单位介绍信
2015/05/05 职场文书
Nest.js参数校验和自定义返回数据格式详解
2021/03/29 Javascript