1. 云栖社区>
  2. 技术文集>
  3. 列表>
  4. 正文

解析PHP函数array

作者:用户 来源:互联网 时间:2016-06-28 14:29:39

数组代码array元素arr脚本之家脚本之家工作室脚本之家网站删除重复数组array_fliparray_uniquephp重复元素Flip数组重复值

解析PHP函数array - 摘要: 本文讲的是解析PHP函数array, 我们都知道,PHP中的数组元素删除的方式可以有很多种,经常用到的函数有php中array_unique()。那么我们今天为大家介绍的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));

以上是解析PHP函数array的全部内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有解析PHP函数array 的相关内容,欢迎继续使用右上角搜索按钮进行搜索数组 , 代码 , array , 元素 , arr , 脚本之家 , 脚本之家工作室 , 脚本之家网站 , 删除重复数组 , array_flip , array_unique , php重复元素 , Flip 数组重复值 php array函数、php array map函数、php array walk 函数、php数组唯一函数array、php中array函数,以便于您获取更多的相关知识。

lnk1120-vs2010运行程序报错:error LNK2019: 无法解析的外部符号

问题描述 vs2010运行程序报错:error LNK2019: 无法解析的外部符号 如题,我在vs2010环境下做C++练习题时出现该错误。程序代码如下: //array.h#ifndef ARRAY_H#define ARRAY_Htemplate<typename T>class Array{public: Arr...

php中xml解析函数xml_parser_create

xml 解析器。 语法: int xml_parser_create(string [encoding]); 返回值: 整数 函数种类: 资料处理     内容说明 本函数用来初始化一个新的 xml 解析器。参数 encoding 可省略,为 xml 使用的字符集,默认值为 iso-8859-1,其它尚有 us-ascii、utf-8 ...

PHP xml_parse_into_struct 函数详细解析

...ing$data,array&$values[,array&$index] ) 参数说明:@param-->$parser XML解析器,由xml_parser_create()生成一个XML资源句柄。 @param-->$data  带解析的XML字符串。 @param--> &$value 解析完成后生成的数据数组。 通常包括:1. 标签名字,例如parse xml sources...

thinkphp3.1 升 php7.1 指南

...; } a、ThinkPHP/Lib/Core/Dispatcher.class.php 第 132 行中替换为 // 解析剩余的URL参数#preg_replace('@(/w+)//([^//]+)@e', '$var[/'//1/']=strip_tags(/'//2/');', implode('/',$paths));if(version_compare(PHP_VERSION,'7.0.0',' preg_replace('@(/w+)//([^//]+)@e', '$var[/'//1/']=strip_tags(...

Disucz X3.2 多处反射型XSS漏洞(函数缺陷导致)

...ncode($_G['referer']); return$_G['referer'];} 这段代码使用 parse_url 解析 referer 后得到的 host 与 $_SERVER['HTTP_HOST'] 进行对比判断是否为站内,但由于这个函数本身是不做有效性检测的,所以使用 js URI 就可以绕过域检测执行 JS了。 漏洞证明...

前三篇
后三篇