php利用array_flip实现数组键值交换去除数组重复值

php 如何去除一个数组里面的重复值?按一般的思维,一般都会是进行两个 foreach 循环剔除掉数组里面相同的值。但是这个方法不是一种最优的方法,下面介绍一个 php 自带的数组函数 array_flip 函数。

首先介绍一下 array_flip 函数。

array array_flip ( array trans)
trans 需要进行反转的数组
 
 【功能】

函数交换数组中的键和值,该函数将返回一个反转后的数组,即原数组的值变成了新数组的键值,原数组的键值变成了新数组的值。如果数组中有相同的值,则只有最后的一个具有同样值的才会被反转到新数组。
 【使用范围】
 
php4、php5

【示例】

  1. <?php 
  2. $trans = array ("a" => 1, "b" => 1, "c" => 2); 
  3. $trans = array_flip ($trans); 
  4. print_r($trans); 
  5. ?>  

以上结果为:

  1. Array 
  2.     [1] => b 
  3.     [2] => c 

由以上结果我们可以看出,array_flip 函数能够去除数组里面的值重复的项,那么如果我们需要去除一个数组里面的重复项的话,只需对该数组进行两次 array_flip 即可。还是上例中的数据,如果如下:

  1. <?php 
  2. $trans = array ("a" => 1, "b" => 1, "c" => 2); 
  3. $trans = array_flip (array_flip($trans)); 
  4. print_r($trans); 
  5. ?>  

则结果为:

  1. Array 
  2.     [b] => 1 
  3.     [c] => 2 

转载请注明:代码家园 » php利用array_flip实现数组键值交换去除数组重复值

也许你会喜欢和关注与本文内容高度相关的文章:

二维数组去除重复值和array_unique函数

php二维数组去掉重复值的方法总结

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)