array_unique

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

array_uniqueУбирает повторяющиеся значения из массива

Описание

array_unique(array$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() не предназначена для работы с многомерными массивами.

Смотрите также

  • array_count_values() - Подсчитывает количество вхождений каждого отдельного значения в массиве
To Top