很多时候,在编写程序或开发时,我们需要过滤数组以删除重复项。 PHP为我们提供了一个内置函数来执行此操作,从而使事情变得容易。 array_unique()是PHP中的内置函数,该函数从数组中删除重复的值。如果数组中有多个具有相同值的元素,则将保留第一个出现的元素,并将所有其他出现的元素从数组中删除。
而且,根据该功能,当且仅当(字符串)$elem1 ===(字符串)$elem2,即当元素的字符串表示相同时,才认为两个元素相等。
用法:
array array_unique($array , $sort_flags)
注意:保留数组的键。也就是说,输入数组中未被删除的元素的键在输出数组中将是相同的。
参数:此函数接受两个参数,其中一个是必需参数,另一个是可选参数。这两个参数如下所述:
$array:必须提供此参数,它指定了要从中删除重复项的输入数组。
$sort_flags:这是可选参数。此参数$sort_flags可用于使用以下值来修改排序行为:SORT_REGULAR:这是参数$sort_flags的默认值。此值告诉函数正常比较项目(请勿更改类型)。
SORT_NUMERIC:此值告诉函数以数字方式比较项目。
SORT_STRING:此值告诉函数将项目作为字符串进行比较。
SORT_LOCALE_STRING:此值告诉函数根据当前区域设置将项目作为字符串进行比较。
返回值:array_unique()函数从数组中删除所有重复项后,将返回过滤后的数组。
以下示例程序旨在说明PHP中的array_unique()函数:
示例1:
// Input Array
$a=array("red", "green", "red", "blue");
// Array after removing duplicates
print_r(array_unique($a));
?>
输出:
Array
(
[0] => red
[1] => green
[3] => blue
)
示例2:
// Input array
$arr = array("a"=>"MH", "b"=>"JK", "c"=>"JK", "d"=>"OR");
// Array after removing duplicates
print_r(array_unique($arr));
?>
输出:
Array
(
[a] => MH
[b] => JK
[d] => OR
)
注意事项:
array_unique()不适用于多维数组。
输入数组的键将保留。
根据此功能,如果两个元素的字符串表示形式相同,则认为它们相等。