php数组去重的方法-php教程

资源魔 34 0

本文实例讲述了PHP数组去重的更快完成形式。分享给各人供各人参考,详细以下:

保举教程:PHP视频教程

应用PHP的array_unique()函数容许你通报一个数组,而后移除了反复的值,前往一个领有惟一值的数组。这个函数年夜少数状况下都能工作患上很好。然而,假如你测验考试正在一个年夜的数组里应用array_unique()函数,它会运转地慢一些。

保举手册:php齐全自学手册

有一个比拟好并且更快的函数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函数,有了一个无效的功能晋升。

相干文章保举:
1.php若何疾速完成数组去重的实例
2.PHP应用array_unique对二维数组去重解决
3.php高效率对一维数组进行去重
相干视频保举:
1.独孤九贱(4)_PHP视频教程

以上就是php数组去重的办法的具体内容,更多请存眷资源魔其它相干文章!

标签: php php开发教程 php开发资料 php开发自学 数组

抱歉,评论功能暂时关闭!