PHP数组去重

PHP 同时被 2 个专栏收录
29 篇文章 0 订阅
28 篇文章 0 订阅

PHP数组去重

  • array_flip: 此函数为数组翻转,也就是将原数组的键值翻转为键名,将原数组的键名翻转为键值;这样以来,就会得到一组唯一键值的数组。
  • array_unique:移除一个数组中重复的值,返回一个拥有唯一值的数组。

代码

//创建一个包含重复值的,一共四个元素的数组
$array = array('green','blue','orange','blue');
//翻转数组,你将会得到唯一键值的数组
$array = array_flip($array);
//然后再翻转一次,将键和值重新放置;
$array = array_flip($array);
print_r($array);

结果

array(0=>'green',1=>'blue',2=>'orange');

因为我们已经移除了一些元素,因此数组看起来不是正常的序列;如果你需要数组的键值保持数字的序列,你可以使用以下方法解决键值乱序的问题。

  • array_merge:修复数组的keys
$array = array('green','blue','orange','blue');
$array = array_flip($array);
$array = array_flip($array);
$array = array_merge($array);
print_r($array);
  • array_keys:修复数组的keys
$array = array('green','blue','orange','blue');
$array = array_flip($array);
//跟第一个例子一样,但是现在我们先提取数组的键值 
$array = array_keys($array);

结论

非常简单,比起在大数组使用array_unique函数,有了一个有效的性能提升。

  • 1
    点赞
  • 3
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值