Отправляет email-рассылки с помощью сервиса Sendsay

PHP 5 для начинающих

  Все выпуски  

МАССИВЫ: Многомерные массивы - Сортировка


Вниманию читателей!

Отдельные выпуски рассылки в той или иной мере взаимосвязаны. С предыдущими выпусками Вы можете ознакомиться:

  1. в архиве рассылки (оригиналы выпусков);
  2. на сайте рассылки (исправленные и дополненные версии).

# # #

Вы также можете подписаться на рассылку "PHP 5: Новые возможности".

PHP 6 уже в разработке!

Еще в ноябре 2005 года на встрече в Париже разработчики обсудили новые возможности следующей, шестой, версии PHP. Интересует ли Вас, какой будет эта версия? Примите участие в опросе, который проводится на сайте рассылки.

http://pterodactyl.l2p.net/e107/

[опрос на английском языке: PHP 6: Are you interesting in? (PHP 6: Вы зантересованы?) - YES (ДА) - NO (НЕТ)]

PHP 5 для начинающих

Аннотация

Особенности сортировки элементов многомерных массивов.

Сортировка многомерных массивов - задача не вполне тривиальная, поскольку не существует однозначного определения критериев такой сортировки. Например, на одном уровне сортировка может производиться по ключам, а на другом - по значениям.

PHP поддерживает сортировку многомерных массивов при помощи функции array_multisort().

<?php

$a = array(array(0, 1), array(0, 1));
array_multisort($a[0], $a[1]);
print_r($a);

?>
            
Array
(
    [0] => Array
        (
            [0] => 0
            [1] => 1
        )

    [1] => Array
        (
            [0] => 0
            [1] => 1
        )

)
            

Замечание

При наличии строковых ключей в сортируемом массиве они сохраняются; числовые же ключи заменяются новыми.

Функция может принимать по два необязательных аргумента после каждого массива, определяющие порядок (SORT_ASC - в восходящем порядке; SORT_DESC - в нисходящем порядке) и тип сортировки (SORT_REGULAR, SORT_NUMERIC и SORT_STRING) для предшествующего массива. Значения по умолчанию - SORT_ASC и SORT_REGULAR.

<?php

$a = array(array(0, 1), array(0, 1));
array_multisort($a[0], SORT_DESC, $a[1], SORT_DESC);
print_r($a);

?>
            
Array
(
    [0] => Array
        (
            [0] => 1
            [1] => 0
        )

    [1] => Array
        (
            [0] => 1
            [1] => 0
        )

)
            

Подсказка

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

Created with DocBook Created with Libxslt


В избранное