(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)
array_unique — Removes duplicate values from an 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 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.
flags
The optional second parameter flags
may be used to modify the comparison behavior using these values:
Comparison 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 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.
|
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.