(PHP 4 >= 4.0.1, PHP 5, PHP 7)
array_unique — Removes duplicate values from an array
$array
[, int $sort_flags
= SORT_STRING
] )
Takes an input array
and returns a new array
without duplicate values.
Note that keys are preserved. array_unique() sorts
the values treated as string at first, then will keep the first key
encountered for every value, and ignore all following keys. It does not
mean that the key of the first related value from the unsorted
array
will be kept.
Note: Two elements are considered equal if and only if (string) $elem1 === (string) $elem2 i.e. when the string representation is the same, the first element will be used.
array
The input array.
sort_flags
The optional second parameter sort_flags
may be used to modify the sorting behavior using these values:
Sorting type flags:
SORT_REGULAR
- compare items normally
(don't change types)
SORT_NUMERIC
- compare items numerically
SORT_STRING
- compare items as strings
SORT_LOCALE_STRING
- compare items as
strings, based on the current locale.
Returns the filtered array.
Version | Description |
---|---|
5.2.10 |
Changed the default value of sort_flags back to
SORT_STRING .
|
5.2.9 |
Added the optional sort_flags defaulting
to SORT_REGULAR . Prior to 5.2.9, this function used to sort
the array with SORT_STRING internally.
|
Example #1 array_unique() example
<?php
$input = array("a" => "green", "red", "b" => "green", "blue", "red");
$result = array_unique($input);
print_r($result);
?>
The above example will output:
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);
?>
The above example will output:
array(2) { [0] => int(4) [2] => string(1) "3" }
Note: Note that array_unique() is not intended to work on multi dimensional arrays.