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

# array_unique

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

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

### Описание

function 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 | Раньше со значением `SORT_STRING` для параметра `flags` функция копировала массив `array`, удаляла из копии неуникальные элементы и после этого внутренне не упаковывала массив. Теперь функция создаёт новый массив и добавляет в него уникальные элементы. Это иногда приводит к разным числовым индексам.

### Примеры

Пример #1 Пример получения уникальных значений массива функцией array_unique()

    <?php

    $input = ["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 = [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() - Подсчитывает количество вхождений каждого отдельного значения в массиве

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open