array_unique
Удаляет повторяющиеся значения из массива
&reftitle.description;
arrayarray_unique
arrayarray
intflagsSORT_STRING
Функция принимает входной массив array и возвращает новый массив
без повторных значений.
Обратите внимание, функция сохранит ключи исходного массива.
Функция сохранит ключ и значение первого одинакового элемента,
если при заданных флагах flags
окажутся равными несколько элементов.
Функция сохраняет первый элемент и считает два элемента равными,
только если верно выражение (string) $elem1 === (string) $elem2, —
когда строковое представление элементов тождественно.
&reftitle.parameters;
array
Входной массив.
flags
Следующие значения необязательного второго параметра flags
изменяют поведение сравнения:
Флаги типов сравнения:
SORT_REGULAR — нормальное сравнение элементов,
без изменения типов
SORT_NUMERIC — элементы сравниваются как числа
SORT_STRING — элементы сравниваются как строки
SORT_LOCALE_STRING — элементы сравниваются как строки
на основе текущих языковых настроек
&reftitle.returnvalues;
Функци возвращает отфильтрованный массив.
&reftitle.changelog;
&Version;
&Description;
7.2.0
Раньше со значением SORT_STRING
для параметра flags
функция копировала массив array,
удаляла из копии неуникальные элементы и после этого внутренне не упаковывала массив.
Теперь функция создаёт новый массив и добавляет в него уникальные элементы.
Это иногда приводит к разным числовым индексам.
&reftitle.examples;
Пример получения уникальных значений массива функцией array_unique
"green", "red", "b" => "green", "blue", "red"];
$result = array_unique($input);
print_r($result);
?>
]]>
&example.outputs;
green
[0] => red
[1] => blue
)
]]>
Пример поведения функции array_unique со значениями разных типов
]]>
&example.outputs;
int(4)
[2] => string(1) "3"
}
]]>
&reftitle.notes;
Обратите внимание, функция array_unique не рассчитана
на работу с многомерными массивами.
&reftitle.seealso;
array_count_values