我们都知道PHP中的数组元素删除的方式可以有很多种经常用到的函数有php中array_unique()那么我们今天为大家介绍的PHP函数array_flip()在删除数组重复元素时的效率要比array_unique()函数高出大约倍左右
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()用于将一个数组的每个元素的键和值交换如
复制代码 代码如下:
$arr
= array ("age" =>
"name" => "脚本之家");
$arr
= array_flip($arr
);//$arr
就是 array(
=> "age"
"脚本之家" => "name");
在PHP的数组中允许不同的元素可以取同一个值但不允许同一个键名被不同的元素使用如
复制代码 代码如下:
$arr
= array ("age" =>
"name" => "脚本之家"
"age" =>
);"age" =>
将会取代"age" =>
$arr
= array ("name" => "脚本之家"
"age" =>
);
这里 $arr与$arr是相等的
于是我们便可以知道为什么 array_flip(array_flip($arr))可以删除数组中重复的元素了首先$arr里的值会变成键名因为值是有重复的变成键名之后这些重复的值便成了重复的键名PHP引擎将重复的键名删除只保留最后一个如
复制代码 代码如下:
$arr
= array ("age" =>
"name" => "脚本之家"
"age" =>
);
$arr
= array_flip($arr
); //$arr
变成了 array("脚本之家" => "name"
=> "age");
//再把 $arr
的键名与值还复
$arr
= array_flip($arr
);
上面PHP函数array_flip()的代码写得简洁一些就是
复制代码 代码如下:
$arr = array_flip(array_flip($arr));