array_unique - Убирает повторяющиеся значения из массива
Вернуться к: Функции для работы с массивами
array_unique
(PHP 4 >= 4.0.1, PHP 5, PHP 7)
array_unique — Убирает повторяющиеся значения из массива
Описание
$array
[, int $sort_flags
= SORT_STRING
] )
Принимает входной array
и возвращает новый массив
без повторяющихся значений.
Обратите внимание, что ключи сохранятся.
array_unique() сначала сортирует
значения как строки, сохраняет первый встреченный ключ
для каждого значения и игнорирует все последующие ключи. Это не означает,
что первый ключ каждого значения неотсортированного
array
будет сохранён.
Замечание: Два элемента считаются одинаковыми в том и только в том случае, если (string) $elem1 === (string) $elem2. Другими словами: если у них одинаковое строковое представление, то будет использован первый элемент.
Список параметров
-
array
-
Входной массив.
-
sort_flags
-
Можно использовать необязательный второй параметр
sort_flags
для изменения поведения сортировки с помощью следующих значений:Виды сортировок флагов:
-
SORT_REGULAR
- нормальное сравнение элементов (типы не меняются) -
SORT_NUMERIC
- элементы сравниваются как числа -
SORT_STRING
- элементы сравниваются как строки -
SORT_LOCALE_STRING
- сравнивает элементы как строки, с учетом текущей локали.
-
Возвращаемые значения
Возвращает отфильтрованный массив.
Список изменений
Версия | Описание |
---|---|
5.2.10 |
Значение по умолчанию параметра sort_flags изменено
обратно на SORT_STRING .
|
5.2.9 |
Добавлен необязательный параметр sort_flags , по
умолчанию равный SORT_REGULAR . До версии 5.2.9,
это функция сортировала массив с помощью SORT_STRING .
|
Примеры
Пример #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() не предназначена для работы с многомерными массивами.
Вернуться к: Функции для работы с массивами