(PHP 4 >= 4.0.1, PHP 5)
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. 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. In words: when the string representation is the same. The first element will be used.
The input array.
The optional second parameter sort_flags may be used to modify the sorting behavior using these values:
Sorting type flags:
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. |
5.0.2 | sort_flags now accepts SORT_LOCALE_STRING. |
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.