array_unique - Убирает повторяющиеся значения из массива
Вернуться к: Функции для работы с массивами
array_unique
(PHP 4 >= 4.0.1, PHP 5)
array_unique — Убирает повторяющиеся значения из массива
Описание
Принимает входной 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() не предназначена для работы с многомерными массивами.
Вернуться к: Функции для работы с массивами