php怎么清除数组的重复数据.docx
第
php怎么清除数组的重复数据
在实际开发中,我们经常需要从一个数组中清除重复的数据。在PHP中,清除重复数据是一件很容易的事情,因为PHP提供了很多内置的函数来完成这个任务。
下面是一些PHP内置的函数,可以用来清除数组中的重复数据:
array_unique()函数
array_unique()可以用来对数组进行去重操作。它会返回一个新的数组,包含原始数组中的所有不同的值。
使用方法:
$array=array(a,b,c,d,a,b,e
$new_array=array_unique($array);
print_r($new_array);
输出:
Array(
[0]=a
[1]=b
[2]=c
[3]=d
[6]=e
)
array_diff()函数
array_diff()函数可以用来比较两个数组,并返回一个包含不同元素的新数组。
使用方法:
$array1=array(a,b,c,d,a,b,e
$array2=array(c,d,e,f
$new_array=array_diff($array1,$array2);
print_r($new_array);
输出:
Array(
[0]=a
[1]=b
)
array_merge()函数
array_merge()函数可以用来将多个数组合并成一个数组。如果合并后有重复的数据,会保留最后一个出现的值。
使用方法:
$array1=array(a,b,c,d,a,b,e
$array2=array(c,d,e,f
$new_array=array_merge($array1,$array2);
print_r($new_array);
输出:
Array(
[0]=a
[1]=b
[2]=c
[3]=d
[4]=a
[5]=b
[6]=e
[7]=c
[8]=d
[9]=e
[10]=f
)
array_intersect()函数
array_intersect()函数可以用来比较两个数组,并返回一个包含两个数组都存在的元素的新数组。
使用方法:
$array1=array(a,b,c,d,a,b,e
$array2=array(c,d,e,f
$new_array=array_intersect($array1,$array2);
print_r($new_array);
输出:
Array(
[2]=c
[3]=d
[6]=e
)
如果想要清除数组中所有的重复数据,可以将以上函数组合使用。具体方法如下:
$array1=array(a,b,c,d,a,b,e
$array2=array(c,d,e,f
$new_array=array_merge(array_diff($array1,array_intersect($array1,$array2)),array_diff($array2,array_intersect($array1,$array2)));
print_r($new_array);
输出:
Array(
[0]=a
[1]=b
[4]=f
)
以上方法可以清除数组中所有的重复数据,并保留所有不同的元素。如果需要保留重复数据中的第一个或者最后一个,可以使用以下方法:
保留重复数据中的第一个:
$new_array=array_unique($array1);
保留重复数据中的最后一个:
$new_array=array_intersect($array1,array_unique(array_reverse($array1)));