PHP

array_unique

array_unique

(PHP 4 >= 4.0.1, PHP 5, PHP 7)

array_unique - 从数组中删除重复值

描述

array array_unique ( array $array [, int $sort_flags = SORT_STRING ] )

接受一个输入array并返回一个没有重复值的新数组。

请注意,键被保留。如果多个元素在给定的条件下比较相等sort_flags,则第一个相等元素的键和值将被保留。

注意:当且仅当(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() example

<?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() and types

<?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" }