array_unique
(PHP 4 >= 4.0.1, PHP 5, PHP 7)
array_unique — Убирает повторяющиеся значения из массива
Описание
$array
, int $flags = SORT_STRING
) : array
Принимает входной массив array и возвращает новый массив
без повторяющихся значений.
Обратите внимание, что ключи сохранятся. Если в соответствии с заданными
flags несколько элементов определяются как
идентичные, то будут сохранены ключ и значение первого такого элемента.
Замечание: Два элемента считаются одинаковыми в том и только в том случае, если
(string) $elem1 === (string) $elem2. Другими словами: если у них одинаковое строковое представление, то будет использован первый элемент.
Список параметров
-
array -
Входной массив.
-
flags -
Можно использовать необязательный второй параметр
flagsдля изменения поведения сортировки с помощью следующих значений:Виды сортировок флагов:
-
SORT_REGULAR- нормальное сравнение элементов (типы не меняются) -
SORT_NUMERIC- элементы сравниваются как числа -
SORT_STRING- элементы сравниваются как строки -
SORT_LOCALE_STRING- сравнивает элементы как строки, с учетом текущей локали.
-
Возвращаемые значения
Возвращает отфильтрованный массив.
Список изменений
| Версия | Описание |
|---|---|
| 7.2.0 |
Если flags равен
SORT_STRING, ранее массив
array копировался, а не уникальные элементы
удалялись (сохраняя значения цифровых индексов),
но теперь создается новый массив путем добавления уникальных элементов.
Это может привести к различным числовым индексам.
|
Примеры
Пример #1 Пример использования array_unique()
<?php
$input = array("a" => "green", "red", "b" => "green", "blue", "red");
$result = array_unique($input);
print_r($result);
?>
Результат выполнения данного примера:
Array
(
[a] => green
[0] => red
[1] => blue
)
Пример #2 array_unique() и типы:
<?php
$input = array(4, "4", "3", 4, 3, "3");
$result = array_unique($input);
var_dump($result);
?>
Результат выполнения данного примера:
array(2) {
[0] => int(4)
[2] => string(1) "3"
}
Примечания
Замечание: Обратите внимание, что array_unique() не предназначена для работы с многомерными массивами.