array_unique
(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)
array_unique — Removes duplicate values from an array
Description
$array
, int $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 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.
Parameters
-
array
-
The input array.
-
flags
-
The optional second parameter
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.
-
Return Values
Returns the filtered array.
Changelog
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.
|
Examples
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" }
Notes
Note: Note that array_unique() is not intended to work on multi dimensional arrays.