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 
  4. )
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值