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

В 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-ов уникальных пользователей из БД.

 

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *


Введите капчу: