旗下导航:搜·么
当前位置:网站首页 > PHP教程 > 正文

php数组去重的要领【php教程】

作者:搜搜PHP网发布时间:2019-12-01分类:PHP教程浏览:67


导读:本文实例报告了PHP数组去重的更快完成体式格局。分享给人人供人人参考,细致以下:引荐教程:PHP视频教程  运用PHP的array_unique()函数许可你通报一...

本文实例报告了PHP数组去重的更快完成体式格局。分享给人人供人人参考,细致以下:

引荐教程:PHP视频教程

  运用PHP的array_unique()函数许可你通报一个数组,然后移除反复的值,返回一个具有唯一值的数组。这个函数大多数情况下都能事情得很好。然则,假如你尝试在一个大的数组里运用array_unique()函数,它会运转地慢一些。

  有一个比较好而且更快的函数array_flip()来替换运用array_unique()函数来建立唯一的数组。这个魔法般的函数会交流数组内里每个元素的键和值,由于键值必需唯一,因而,你会获得跟array_unique()函数一样的效果。

/* 建立一个包括反复值的,一共四个元素的数组 */
$array = array('green','blue','orange','blue');
/* 翻转数组,你将会获得唯一键值的数组
    array('green'=>0,'blue'=>1,'orange'=>2); */
$array = array_flip($array);
/* 然后再翻转一次,将键和值从新安排,然后获得数组:array(0=>'green',1=>'blue',2=>'orange'); */
$array = array_flip($array);
print_r($array)

运转效果:

Array
(
  [0] => green
  [3] => blue
  [2] => orange
)

  由于我们已移除了一些元素,因而数组看起来不是一般的序列。比方我们可能会获得:array(0=>'A',2=>'B',5=>'C');。在某些情况下,这不是一个题目,然则假如你须要数组的键值坚持数字的序列,你能够运用一到两种要领处理键值乱序的题目。

运用array_merge修复数组的keys

  增加array_flip以后的函数,将会对数组的键值排序而且让它们恢复到一般的序列,如:0,1,2,3…

$array = array('green','blue','orange','blue');
$array = array_flip($array);
$array = array_flip($array);
/* 运用array_merge()函数修复键值*/
$array = array_merge($array);
print_r($array)

运转效果同上

第二种体式格局,运用array_keys

  注重,这类修复数组键值的要领比运用array_merge()函数轻微快了一点。你也能够在末了一步连系运用array_keys()函数(此函数返回翻转后的值)。然后当你翻转数组的值,键值就会依据递次建立。

$array = array('green','blue','orange','blue');
$array = array_flip($array);
/* 跟第一个例子一样,然则如今我们先提取数组的键值 */
$array = array_keys($array);
print_r($array)

运转效果同上

结论

异常简朴,比起在大数组运用array_unique函数,有了一个有用的机能提拔。

以上就是php数组去重的要领的细致内容,更多请关注ki4网别的相干文章!

标签:php数组