PHP. Учебник. 2005

array_multisort

Пред.

След.

array_multisort

(PHP 4, PHP 5)array_multisort -- Сортировать несколько массивов или многомерные массивы

Описание

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

- Функция array_multisort() может быть использована для

сортировки сразу нескольких массивов или одного многомерного массива

в соответствии с одной или несколькими размерностями. Эта функция

сохраняет соответствие между ключами и соответствующими им значениями.

- Входные массивы рассматриваются как столбцы таблицы, которую

нужно отсортировать по строкам - такой подход напоминает

поведение выражения SQL ORDER BY. Первый массив имеет

проиоритет в процессе сортировки.

- Структура аргументов этой функции немного необычна,

но удобна. Первым аргументом должен быть массив. Последующие

аргументы могут быть как массивами, так и значениями,

определяющими порядок сортировки, приведенными в

нижеследующем списке.

- Значения, определяющие порядок сортировки:

SORT_ASC - сортировать в возрастающем порядке

  • SORT_DESC - сортировать в убывающем порядке

    - Sorting type flags:

    SORT_REGULAR - сравнивать элементы обычным образом

  • SORT_NUMERIC - сравнивать элементы, как если бы они были числами

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

    - Недопустимым является указание двух флагов сортировки одинакового типа

    после каждого массива. Флаги сортировки, переданные после аргумента

    массив, применяются только к этому аргументу -

    перед тем, как функция начнет обрабатывать следующий массив, эти флаги

    снова принимают значения по умолчаниюt 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 (элементы отсортированы

    как числа, в порядке убывания).

    Пред.

    Начало

    След.

    array_merge

    Уровень выше

    array_pad 22222

    Free Web Hosting