Функция array_unique в PHP: удаление дубликатов из массива
Функция array_unique() в PHP представляет собой встроенную функцию для удаления дубликатов из массива. Она принимает один параметр – массив, который нужно обработать и возвращает новый массив без повторяющихся элементов.
Пример использования функции array_unique():
$array = [1, 2, 2, 3, 4, 4, 5];
$unique_array = array_unique($array);
print_r($unique_array);
Результатом выполнения данного кода будет массив без дубликатов, т.е.:
Array ( [0] => 1 [1] => 2 [3] => 3 [4] => 4 [6] => 5 )
В данном примере мы создаем массив $array с дублирующимися значениями и применяем к нему функцию array_unique(). В результате получаем новый массив $unique_array, который содержит те же элементы, что и $array, но без дубликатов.
Если же требуется также сохранить ключи в новом массиве, то функцией array_values() можно преобразовать его в числовой индексный массив:
$array = ['a' => 1, 'b' => 2, 'c' => 2, 'd' => 3];
$unique_array = array_unique($array);
$unique_array = array_values($unique_array);
print_r($unique_array);
В результате выполнения данного кода будет получен такой массив:
Array ( [0] => 1 [1] => 2 [2] => 3 )
Функция array_unique() также позволяет задавать необязательный второй параметр – $sort_flags, который определяет порядок сортировки элементов массива перед удалением дубликатов. Например, если передать значение SORT_NUMERIC, то элементы будут сортироваться как числа:
$array = ['2', '7', 2, '4', '4', '3'];
$unique_array = array_unique($array, SORT_NUMERIC);
print_r($unique_array);
Результатом выполнения данного кода будет массив без дубликатов, отсортированный как числа:
Array ( [0] => 2 [1] => 7 [3] => 4 [5] => 3 )
Таким образом, функция array_unique() в PHP удобно работает для удаления дублирующихся элементов из массива. Она существенно упрощает код и повышает его эффективность в работе с массивами.