PHP | array_unique()函数
很多时候,在编写程序或开发时,我们需要过滤数组以删除重复项。 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 :
输出:
Array
(
[0] => red
[1] => green
[3] => blue
)
示例 2 :
"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() 不适用于多维数组。
- 输入数组的键被保留。
- 根据这个函数,如果两个元素的字符串表示相同,则认为它们相等。
参考:
http:http:// PHP.net/manual/en/函数.array-unique.phpp