Задать вопрос

Как отсортировать массив, в элементах которого тоже массив?

Здравствуйте
У меня есть массив
Array
(
    [1082] => Array
        (
            [ID] => 1082
            [SECTION_NAME] => Приставки, проекторы, аксессуары
            [CODE] => televizory_i_media
            [SORT] => 500
            [ELEMENT] => Array
                (
                    [0] => 1424
                    [1] => 1743
                    [2] => 1736
                )

        )

    [1320] => Array
        (
            [ID] => 1320
            [SECTION_NAME] => Портативные транспортные средства
            [CODE] => portativnye_transportnye_sredstva_1
            [SORT] => 513
            [ELEMENT] => Array
                (
                    [0] => 18179
                    [1] => 1170
                    [2] => 18228
                )

        )

    [1321] => Array
        (
            [ID] => 1321
            [SECTION_NAME] => Детский электротранспорт
            [CODE] => detskiy_elektrotransport
            [SORT] => 535
            [ELEMENT] => Array
                (
                    [0] => 2061
                )

        )

    [1322] => Array
        (
            [ID] => 1322
            [SECTION_NAME] => Фото, видео и аудиотехника
            [CODE] => foto_video_i_audiotekhnika
            [SORT] => 516
            [ELEMENT] => Array
                (
                    [0] => 18096
                    [1] => 18659
                    [2] => 18655
                    [3] => 683
                    [4] => 10088
                    [5] => 560
                )

        )
.....
)

Мне бы его отсортировать по значению SORT. Пытаюсь сделать:
usort($arResult, "sortHelpSales");

function sortHelpSales($a, $b) {
    if ($a["SORT"] == $b["SORT"]) return 0;
    return $a["SORT"] > $b["SORT"] ? 1 : -1;
}

Вроде как он сортирует то правильно, но проблема в том, что он один элемент массива, например [1319], разбивает на три разных (т.е. по кол-ву элементов в [ELEMENT])
Array
(
    [0] => Array
        (
            [ID] => 1082
            [SECTION_NAME] => Приставки, проекторы, аксессуары
            [CODE] => televizory_i_media
            [SORT] => 500
            [ELEMENT] => Array
                (
                    [0] => 1424
                )

        )

    [1] => Array
        (
            [ID] => 1082
            [SECTION_NAME] => Приставки, проекторы, аксессуары
            [CODE] => televizory_i_media
            [SORT] => 500
            [ELEMENT] => Array
                (
                    [0] => 1743
                )

        )

    [2] => Array
        (
            [ID] => 1082
            [SECTION_NAME] => Приставки, проекторы, аксессуары
            [CODE] => televizory_i_media
            [SORT] => 500
            [ELEMENT] => Array
                (
                    [0] => 1736
                )

        )
       .....
)


Можно ли сделать, что бы массив [ELEMENT] не разбивался?
  • Вопрос задан
  • 56 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы