array_unique
(PHP 4 >= 4.0.1, PHP 5, PHP 7)
array_unique — 移除数组中重复的值
说明
array_unique (
array
$array
[,
int $sort_flags
= SORT_STRING ] ) :
array
array_unique() 接受 array
作为输入并返回没有重复值的新数组。
注意键名保留不变。array_unique() 先将值作为字符串排序,然后对每个值只保留第一个遇到的键名,接着忽略所有后面的键名。这并不意味着在未排序的 array
中同一个值的第一个出现的键名会被保留。
Note: 当且仅当 (string) $elem1 === (string) $elem2 时两个单元被认为相同。 例如,字符串表达一样时,会使用首个元素。
参数
-
array
-
输入的数组。
-
sort_flags
-
第二个可选参数
sort_flags
可用于修改排序行为:排序类型标记:
-
SORT_REGULAR
- 按照通常方法比较(不修改类型) -
SORT_NUMERIC
- 按照数字形式比较 -
SORT_STRING
- 按照字符串形式比较 -
SORT_LOCALE_STRING
- 根据当前的本地化设置,按照字符串比较。
-
返回值
返回过滤后的数组。
更新日志
版本 | 说明 |
---|---|
5.2.10 | 修改回 sort_flags 的默认值为 SORT_STRING 。 |
5.2.9 | 增加可选选项sort_flags ,默认值 SORT_REGULAR 。 5.2.9 之前,此函数内部使用 SORT_STRING 排序。 |
范例
Example #1 array_unique() 例子
<?php
$input = array("a" => "green", "red", "b" => "green", "blue", "red");
$result = array_unique($input);
print_r($result);
?>
以上例程会输出:
Array ( [a] => green [0] => red [1] => blue )
Example #2 array_unique() 和类型
<?php
$input = array(4, "4", "3", 4, 3, "3");
$result = array_unique($input);
var_dump($result);
?>
以上例程会输出:
array(2) { [0] => int(4) [2] => string(1) "3" }
注释
Note: 注意, array_unique() 不能应用于多维数组。