解析PHP函数array_flip()在重复数组元素删除中的作用
2023-06-13 09:15:02 时间
我们都知道,PHP中的数组元素删除的方式可以有很多种,经常用到的函数有php中array_unique()。那么我们今天为大家介绍的PHP函数array_flip()在删除数组重复元素时的效率要比array_unique()函数高出大约5倍左右。
PHP函数array_flip()格式:
arrayarray_flip(arraytrans)
//array_flip--交换数组中的键和值
arrayarray_flip(arraytrans)//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));
相关文章
- php://input allow_url_include,DVWA设置PHP函数allow_url_include:已禁用
- PHP 使用 + 操作符,array_merge 函数 ,以及 array_merge_recursive 函数进行合并数组的区别
- PHP使用MySQL数据库:最佳实践(php查询mysql数据库)
- PHP与MySQL:搭建你的Web应用(php和mysql)
- MySQL在PHP中的灵活运用(php中的mysql)
- PHP编译MySQL:一步一步指南(php编译mysql)
- Linux重启PHP的命令操作指南(linux重启php命令)
- MySQL实现PHP数组存储的效果(mysql存储数组php)
- 数据从MySQL中用PHP取得数据(php 获取 mysql)
- PHP与MSSQL的快速无缝连接配置指南(php链接mssql配置)
- 简便快捷:在PHP服务器上使用MSSQL(php服务器 mssql)
- 使用PHP连接MSSQL数据库的查询语句(php mssql 语句)
- PHP与MSSQL结合,实现灵活高效的程序开发(php mssql 程序)
- php合并数组array_merge函数运算符加号与的区别
- php下几个常用的去空、分组、调试数组函数
- php关于array_multisort多维数组排序的使用说明
- PHP操作数组相关函数
- PHP操作mysql函数详解,mysql和php交互函数
- php数组函数序列之rsort()-对数组的元素值进行降序排序
- PHP获取数组中某元素的位置及array_keys函数应用
- php之XML转数组函数的详解
- 解析PHP将对象转换成数组的方法(兼容多维数组类型)
- 基于php常用函数总结(数组,字符串,时间,文件操作)
- php中通过数组进行高效随机抽取指定条记录的算法
- php中自定义函数dump查看数组信息类似var_dump
- PHP二维数组排序的3种方法和自定义函数分享
- php使用array_rand()函数从数组中随机选择一个或多个元素