Учебник по основам PHP. PHPBeginner


Массивы - часть 17


При сортировке многомерных массивов $а и $b содержит ссылки иа первый индекс массива.

Напечатано будет:

fruits[0]. apples Sfruitsfl]: grapes Ifnnts!.?]: lemons:

См. также: uasort(), uksort(), sort(), asort(), arsort(). ksort(), natsort() и rsort().

array_ multisort

Сортировка релятивных массивов

boo! array_mu1tisort (array arl [, mixed ol [, mixed rl ... [. array -..]]])

Сортирует многомерные массивы (один или более) с сохранением индексной ассоциации, возвращая TRUE при отсутствии ошибок.

Исходные массивы рассматриваются как столбцы таблицы, сортируемой построчно. Поэтому массивы должны иметь одинаковое число элементов, и взаимосвязь между ними, как в строках таблицы, сохраняется! Приоритетом сортировки пользуются первые массивы. Флаги сортиро.'жи могут указываться для каждого массива, и их действие распространяется только на тот массив, после которого они указаны.

Флаги определения порядка сортировки (аргументы ох):

  • SORT_ASC — сортировка в порядке возрастания (по умолчанию);
  • SORT_DESC - сортировка в порядке убывания.

Флаги типа сортировки (аргументы тх):

  • SORT_REGULAR — сравнивать элементы как есть (по умолчанию);
  • SORT_NUMERIC — сравнивать элементы как числа;
  • SORT_STRING — сравнивать элементы как строки.

// Пример 1 $arl - array ("10". 100. 100. "а"). $аг2 = array (1. 3. "2". 1): arrayjnultisort ($arl. $ar2), //$arl = array ("10". "a". 100. 100) //$ar2 = array (1. 1. "2". 3)

Элементы второго массива, соответствующие одинаковым элементам (100 и 100) первого массива, также отсортированы.

// Пример 2 $ar = array (array ("10". 100. 100. "a"), array (1. 3. "2". D): anrayjiultisort ($ar[0]. SORT_ASC. SORT_STRING. $ar[l]. SORT_NUMERIC. SORT_DESC); $ar[0] = ("10", 100, 100, "a") — сортируются как строки по возрастанию, $аг[1] = (1, 3, "2", 1) — сортируются как числа по убыванию.




Начало  Назад  Вперед