(PHP 4 >= 4.0.1, PHP 5, PHP 7)
array_unique — Removes duplicate values from an array
$array
[, int $sort_flags
= SORT_STRING
] ) : array
Takes an input array
and returns a new array
without duplicate values.
Note that keys are preserved. If multiple elements compare equal under
the given sort_flags
, then the key and value of
the first equal element will be retained.
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 |
---|---|
7.2.0 |
If sort_flags is SORT_STRING ,
formerly array has been copied and non-unique
elements have been removed (without packing the array afterwards), but
now a new array is built by adding the unique elements. This can result
in different numeric indexes.
|
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.