array_unique
(PHP 4 >= 4.0.1, PHP 5, PHP 7)
array_unique — Removes duplicate values from an array
Description
$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.
Parameters
-
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.
-
Changelog
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.
|
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" }
English translation
You have asked to visit this site in English. For now, only the interface is translated, but not all the content yet.If you want to help me in translations, your contribution is welcome. All you need to do is register on the site, and send me a message asking me to add you to the group of translators, which will give you the opportunity to translate the pages you want. A link at the bottom of each translated page indicates that you are the translator, and has a link to your profile.
Thank you in advance.
Document created the 30/01/2003, last modified the 26/10/2018
Source of the printed document:https://www.gaudry.be/en/php-rf-function.array-unique.html
The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.
References
These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author This site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.