search
Homephp教程php手册解析PHP函数array_flip()在重复数组元素删除中的作用

解析PHP函数array_flip()在重复数组元素删除中的作用

Jun 13, 2016 am 11:45 AM
arrayflipphpeffectelementfunctiondeleteexistusarrayKnowparserepeat

我们都知道,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));

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

Atom editor mac version download

Atom editor mac version download

The most popular open source editor