PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8
array_unique - Removes duplicate values from an array

array_unique( array$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.


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.



The input array.


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.



Note that array_unique is not intended to work on multi dimensional arrays.


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.

Related Functions

Example of array_unique

Show all examples for array_unique

PHP Version:

Function array_unique:

Arrays Functions

Most used PHP functions