ГлавнаяОтзывы и пожеланияСтатьи
Функции по алфавиту:    a     b     c     d     e     f     g     h     i     j     k     l     m     n     o     p     q     r     s     t     u     v     w     x     y     z  

array_multisort


(PHP 4)

array_multisort - сортирует многомерный или несколько одномерных массивов.

Описание

bool array_multisort (array ar1 [, mixed arg [, mixed ... [, array ...]]])

array_multisort() может использоваться для сортировки нескольких массивов за раз или многомерного массива по одному из измерений. Она обслуживает ассоциацию ключей при сортировке.

Массивы на входе рассматриваются как столбцы таблицы, сортируемые по рядам - это напоминает функциональность операции ORDER BY языка SQL. Первый массив будет primary/первичным для сортировки по нему. Одинаковые ряды (значения) в этом массиве сортируются следующим входящим массивом, и так далее.

Структура аргументов этой функции несколько необычна, но достаточно гибка. Самый первый аргумент должен быть массивом. Далее, каждый аргумент может быть массивом или флагом сортировки из следующих списков:

Флаги порядка сортировки:

  • SORT_ASC - сортировка в порядке возрастания

  • SORT_DESC - сортировка в порядке убывания

Флаги сортировки по типу:

  • SORT_REGULAR - нормальное сравнение элементов

  • SORT_NUMERIC - числовое сравнение элементов

  • SORT_STRING - строковое сравнение элементов

После каждого массива нельзя специфицировать два флага сортировки одного типа. Флаги сортировки, специфицированные после аргумента массива, примеряются только к данному массиву - они восстанавливают значения по умолчанию SORT_ASC и SORT_REGULAR перед каждым новым аргументом массива.

Возвращает TRUE при успехе, FALSE - при неудаче.

Пример 1. Сортировка нескольких массивов
$ar1 = array ("10", 100, 100, "a");
$ar2 = array (1, 3, "2", 1);
array_multisort ($ar1, $ar2);

В этом примере после сортировки первый массив будет содержать 10, "a", 100, 100. Второй массив будет содержать 1, 1, "2", 3. Вхождения второго массива, соответствующие идентичным вхождениям первого массива (100 и 100) будут также отсортированы.

Пример 2. Сортировка многомерного массива
$ar = array (array ("10", 100, 100, "a"), array (1, 3, "2", 1));
array_multisort ($ar[0], SORT_ASC, SORT_STRING,
                 $ar[1], SORT_NUMERIC, SORT_DESC);

В этом примере, после сортировки, первый массив будет содержать 10, 100, 100, "a" (они были отсортированы как строки в порядке возрастания), а второй массив будет содержать 1, 3, "2", 1 (отсортированы как числа в порядке убывания).




Другие функции на a:

abs
addcslashes
addslashes
apache_child_terminate
apache_note
apache_setenv
array_change_key_case
array_count_values
array_flip
array_keys
array_key_exists
array_map
array_merge
array_merge_recursive
array_pop
array_push
array_reduce
array_reverse
array_shift
array_slice
array_splice
array_unique
array_unshift
array_walk
arsort
asin
asort
aspell_check
aspell_check_raw
aspell_new
aspell_suggest
assert
assert_options
atanh


EXPERTGS.ru описание функций php.