array_unique
Принимает входной array и возвращает новый массив без повторяющихся значений.
Обратите внимание, что ключи сохранены. Если несколько элементов сравниваются как равные под заданными flags , то ключ и значение первого равного элемента будут сохранены.
Примечание : два элемента считаются равными тогда и только тогда, когда (string) $elem1 === (string) $elem2 т.е. когда строковое представление одинаково, будет использоваться первый элемент.
Parameters
Необязательные flags второго параметра могут использоваться для изменения поведения сортировки с использованием этих значений:
Флаги сортировочного типа:
- SORT_REGULAR — сравнивать элементы в обычном режиме (не менять типы)
- SORT_NUMERIC — сравнить элементы численно
- SORT_STRING — сравнивать элементы как строки
- SORT_LOCALE_STRING — сравнивать элементы как строки на основе текущего языкового стандарта.
Return Values
Возвращает отфильтрованный массив.
Changelog
Version | Description |
---|---|
7.2.0 | Если flags — SORT_STRING , ранее array был скопирован, а неуникальные элементы были удалены (без последующей упаковки массива), но теперь новый массив создается путем добавления уникальных элементов. Это может привести к разным числовым индексам. |
Examples
Пример # 1 array_unique () Пример
$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 () и типы
$input = array(4, "4", "3", 4, 3, "3"); $result = array_unique($input); var_dump($result); ?>
Выводится приведенный выше пример:
array(2) < [0] => int(4) [2] => string(1) "3" >
Notes
Примечание : обратите внимание, что array_unique () не предназначен для работы с многомерными массивами.
See Also
PHP 8.2
(PHP 5,7,8)array_uintersect_assoc Вычисляет пересечение массивов с дополнительной проверкой индекса,сравнивает данные функцией обратного вызова Обратите внимание,что
(PHP 5,7,8)array_uintersect_uassoc Вычисляет пересечение массивов с дополнительной проверкой индексов,сравнивает данные и индексы с помощью отдельных функций обратного вызова
(PHP 4,5,7,8)array_unshift Добавление одного или нескольких элементов в начало массива array_unshift()добавляет переданные элементы в начало Примечание:Сброс.
(PHP 4,5,7,8)array_values Возвращает все значения массива array_values()возвращает все значения from и индексы в числовом виде.
array_unique
Принимает входной array и возвращает новый массив без повторяющихся значений.
Обратите внимание, что ключи сохранятся. array_unique() сначала сортирует значения как строки, сохраняет первый встреченный ключ для каждого значения и игнорирует все последующие ключи. Это не означает, что первый ключ каждого значения неотсортированного array будет сохранён.
Замечание: Два элемента считаются одинаковыми в том и только в том случае, если (string) $elem1 === (string) $elem2. Другими словами: если у них одинаковое строковое представление, то будет использован первый элемент.
Список параметров
Можно использовать необязательный второй параметр 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()
$input = array( «a» => «green» , «red» , «b» => «green» , «blue» , «red» );
$result = array_unique ( $input );
print_r ( $result );
?>?php
Результат выполнения данного примера:
Array ( [a] => green [0] => red [1] => blue )
Пример #2 array_unique() и типы:
$input = array( 4 , «4» , «3» , 4 , 3 , «3» );
$result = array_unique ( $input );
var_dump ( $result );
?>?php
Результат выполнения данного примера:
array_unique
Принимает входной массив array и возвращает новый массив без повторяющихся значений.
Обратите внимание, что ключи сохранятся. Если в соответствии с заданными flags несколько элементов определяются как идентичные, то будут сохранены ключ и значение первого такого элемента.
Замечание: Два элемента считаются одинаковыми в том и только в том случае, если (string) $elem1 === (string) $elem2 . Другими словами: если у них одинаковое строковое представление, то будет использован первый элемент.
Список параметров
Можно использовать необязательный второй параметр flags для изменения поведения сортировки с помощью следующих значений:
- SORT_REGULAR — нормальное сравнение элементов (типы не меняются)
- SORT_NUMERIC — элементы сравниваются как числа
- SORT_STRING — элементы сравниваются как строки
- SORT_LOCALE_STRING — сравнивает элементы как строки, с учетом текущей локали.
Возвращаемые значения
Возвращает отфильтрованный массив.
Список изменений
Версия | Описание |
---|---|
7.2.0 | Если flags равен SORT_STRING , ранее массив array копировался, а не уникальные элементы удалялись (сохраняя значения цифровых индексов), но теперь создается новый массив путем добавления уникальных элементов. Это может привести к различным числовым индексам. |
Примеры
Пример #1 Пример использования array_unique()
$input = array( «a» => «green» , «red» , «b» => «green» , «blue» , «red» );
$result = array_unique ( $input );
print_r ( $result );
?>?php
Результат выполнения данного примера:
Array ( [a] => green [0] => red [1] => blue )
Пример #2 array_unique() и типы:
$input = array( 4 , «4» , «3» , 4 , 3 , «3» );
$result = array_unique ( $input );
var_dump ( $result );
?>?php
Результат выполнения данного примера: