Сортировка по уникальным значениям массива php array_unique

Владислав Белецкий
Владислав Белецкий .
Категория:
Комментариев: 0

В php есть уникальная функция для массивов, которая сильно облегчает жизнь программистам. Это сортировка по уникальным его значениям. Это бывает очень полезным при выгрузке, записи данных в БД или просто выдаче пользователю уникальных значений в процессе работы скрипта.

Данная сортировка выполняется за счет функции array_unique() – удаляет повторяющиеся значения из массива с сохранением ключей.

Синтаксис: array_unique (массив [, порядок сортировки]);

[, порядок сортировки] – является не обязательным значением. О нем чуть позже.

 

Рассмотрим живой пример:

Пусть у нас есть массив $emailspisokaddemails с такими повторяющимися значениями (их я выделил зеленым и красным):

Array ( [0] => а   [1] => а   [2] => б   [3] => в   [4] => а   [5] => е   [6] => з   [7] => я  [8] =>   б  )

Теперь применим функцию сортировки и выведем результат:

$emailspisokaddemails = array_unique($emailspisokaddemails);

print_r($emailspisokaddemails);

На выходе мы получим:

Array ( [0] => а   [2] => б   [3] => в   [5] => е   [6] => з   [7] => я )

Заметьте после сортировки исчезли повторяющиеся значения: [1] => а, [4] => а, [8] => б. Массив перезаписался сохранением старых ключей.

Для сравнения повторяющихся значений учитывается регистр.

 

Дополнительные параметры сортировки:

SORT_REGULAR – стандартное сравнение элементов массива (их типы не меняются)

SORT_NUMERIC – все элементы сравниваются в числовом представлении

SORT_STRING – сравнение элементов в виде строк

SORT_LOCALE_STRING – как строки, но с учетом текущей локали.

Теперь вы сможете легко отсортировать массив по не повторяющимся значениям. Мне это пригодилось при выводе email-ов уникальных пользователей из БД.

 

 

Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии