Новые книги

Книга широко известных авторов, разработчиков языка Си, переработанная и дополненная с учетом стандарта ANSI для языка Си, 2-е английское издание которой вышло в 1988 году, давно стала классикой для всех изучающих и/или использующих как Си, так и Си++. Русский перевод этой книги впервые был выпущен изд- вом "Финансы и статистика" в 1992 г. и с тех пор пользуется неизменным спросом читателей.

Для настоящего третьего русского издания перевод заново сверен с оригиналом, в него внесены некоторые поправки, учитывающие устоявшиеся за прошедшие годы изменения в терминологии, а так же учтены замечания, размещенные автором на странице http://cm.bell-labs.com/cm/cs/cbook/2ediffs.html.

Для программистов, преподавателей и студентов.

Издание подготовлено при участии издательства "Финансы и статистика"
Даже в самые тяжелые времена ваш бизнес необходимо рекламировать. Вы считаете, что это дорого? У вас нет денег на рекламу? Оказывается, рекламировать вашу компанию, товар, услугу можно и нужно даже тогда, когда бюджет на рекламу отсутствует. К счастью, бесплатные способы рекламы действительно существуют.

О них и пойдет речь в этой книге — ПЕРВОЙ книге, где подробно рассматриваются рекламные приемы, доступные любому бизнесу.

array_multisort

Учебник РНР
Назад Вперёд

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 (отсортированы как числа в порядке убывания).


Назад Оглавление Вперёд
array_merge Вверхarray_pad