Сортировка многомерного массива

Автор kak2z, 13 марта 2012, 20:07:29

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

kak2z

В общем моск себе поломал - а как отсортировать массив не знаю.
Есть к примеру такой массив

Array
(
    [212] => Array
        (
            [name] => Натуська
            [blogs] => 9
            [rating] => 111
        )

    [721] => Array
        (
            [name] => Принцесса
            [blogs] => 2
            [rating] => 19
        )

    [750] => Array
        (
            [name] => topar
            [blogs] => 1
            [rating] => 0
        )

    [1203] => Array
        (
            [name] => sakharinka
            [blogs] => 1
            [rating] => 3
        )

    [2044] => Array
        (
            [name] => Galina3409
            [blogs] => 32
            [rating] => 168
        )

    [2202] => Array
        (
            [name] => luda.reva
            [blogs] => 8
            [rating] => 36
        )

    [2317] => Array
        (
            [name] => Monbel
            [blogs] => 7
            [rating] => 42
        )

    [2355] => Array
        (
            [name] => vika253
            [blogs] => 1
            [rating] => 14
        )

    [2367] => Array
        (
            [name] => ruslana
            [blogs] => 11
            [rating] => 48
        )

    [2546] => Array
        (
            [name] => Aminova
            [blogs] => 8
            [rating] => 67
        )

    [2549] => Array
        (
            [name] => Зюзюка
            [blogs] => 15
            [rating] => 52
        )

    [2582] => Array
        (
            [name] => маринка
            [blogs] => 3
            [rating] => 11
        )

    [2644] => Array
        (
            [name] => Ивви
            [blogs] => 6
            [rating] => 33
        )

)



в нем есть ключ rating. Как пересортировать массив что бы записи стояли от большего  rating к меньшему.
Спасибо)
Если нужно что то исправить, обновить, переставить, настроить, сделать форум заново - пишите в ЛС)

Drakonsa

Массив связи key - rating, а потом: http://ua.php.net/manual/en/function.array-multisort.php
А вообще, rating лежит в базе? аЕсли да, то проще его там отсортировать и не мучатся.

kak2z

Не)) не в базе.. он данные из нескольких таблиц обрабатываются и собираются в массив.
В общем нашел пример и сделал по нему сортировку


foreach($arr1 as $c=>$key) {
$sort_pr1[] = $key['pr1'];
$sort_all_stars[] = $key['all_stars'];
$sort_blogs[] = $key['blogs'];
}

array_multisort($sort_pr1, SORT_DESC, $sort_all_stars, SORT_DESC, $sort_blogs, SORT_DESC, $arr1);



но честно говоря не могу понять как это работает))) в цикле я собираю одномерные массивы из многомерного по ключу...
дальше в функции array_multisort я сортирую эти одномерные массивы... в конце функции стоит названием моего массива. Но как получается что он сортируется не могу понять никак... ведь я не многомерный массив сортирую, а одномерные..
Если нужно что то исправить, обновить, переставить, настроить, сделать форум заново - пишите в ЛС)