解析PHP函数array_flip()在重复数组元素删除中的作用
来源:互联网 发布:vb仓库管理系统源码 编辑:程序博客网 时间:2024/05/16 06:26
解析PHP函数array_flip()在重复数组元素删除中的作用
本篇文章是对PHP函数array_flip()在重复数组元素删除中的作用进行了详细的分析介绍,需要的朋友参考下
我们都知道,PHP中的数组元素删除的方式可以有很多种,经常用到的函数有php中array_unique()。那么我们今天为大家介绍的PHP函数array_flip()在删除数组重复元素时的效率要比array_unique()函数高出大约5倍左右。
PHP函数array_flip()格式:
复制代码代码如下:
array array_flip ( array trans )
//array_flip -- 交换数组中的键和值
array array_flip ( array trans ) //array_flip -- 交换数组中的键和值
方法如下:
复制代码代码如下:
$arr = array(…………) ;//假设有一万个元素的数组,里面有重复的元素。
$arr = array_flip(array_flip($arr)); //这样便可以删除重复元素。
究竟是怎么回事呢?来看下array_flip()的作用:PHP函数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" => 20);
这里 $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);
上面PHP函数array_flip()的代码写得简洁一些就是:
复制代码代码如下:
$arr1 = array_flip(array_flip($arr1));
阅读全文
0 0
- PHP函数array_flip()在重复数组元素删除中的作用
- 解析PHP函数array_flip()在重复数组元素删除中的作用
- php array_flip() 删除数组重复元素
- php数组操作:array_flip去除数组中重复元素
- php数组函数中的array_slice和array_flip
- 【php】php函数array_shift()在删除数组元素中的用法
- 删除数组中的重复元素
- 删除数组中的重复元素
- 删除数组中的重复元素
- php-Arrays 函数-array_flip-交换数组中键和值
- 如何删除有序数组中的重复元素
- 删除已排序数组中的重复元素
- 算法12:删除数组中的重复元素
- 删除排序数组中的重复元素
- 删除一个数组中的重复元素
- php利用array_flip实现数组键值交换去除数组重复值
- php删除二维数组中的重复值
- php移队重复数组中的重复元素
- 画图
- js学习笔记之作用域
- 主席树总结
- h5面试—Doctype作用
- 为什么数据库索引查询会快
- 解析PHP函数array_flip()在重复数组元素删除中的作用
- Kafka Consumer多线程实例
- Redis "MISCONF Redis is configured to save RDB snapshots,but is currently not able to persist on di
- Server Tomcat v7.0 Server at localhost failed to start.解决办法
- java将一个数转化为二进制形式
- ASCII 字符集:美国信息交换标准编码
- PAT甲级 1004 树
- A+B Problem(V)
- UIActivityIndicatorView