ФорумПрограммированиеPHP для идиотов → Сортировка массива по одному внутриннему полю

Сортировка массива по одному внутриннему полю

  • прдунь

    Сообщения: 3 Репутация: N Группа: Кто попало

    Spritz 17 июля 2010 г. 4:46

    Есть массив

    array(
    array(
    'title' => 'aaaa',
    'order' => -1
    ),
    array(
    'title' => 'bbbb',
    'order' => 5
    ),
    array(
    'title' => 'cccc',
    'order' => 2
    ),
    );


    нужно отсортировать по полю order. Как я себе представляю это: в цикле создаю новый массив, где ключями будут значения order, а элементами - массив массивов. Потом ksort и в цикле объединяем это все в о дин массив. МОжет есть более простое решение?
  • kostyl

    Сообщения: 5203 Репутация: N Группа: Джедаи

    Spritz 17 июля 2010 г. 5:22, спустя 35 минут 32 секунды

    прдунь, ты давай в другой теме ответь, а потом будешь следующие задавать…
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 17 июля 2010 г. 5:52, спустя 30 минут 3 секунды

    прдунь, есть [man]usort[/man], он тебе подойдет
    Спустя 89 сек.


    function cmp($a, $b)
    {
    if ($a['order'] == $b['order']) {
    return 0;
    }
    return ($a['order'] < $b['order']) ? -1 : 1;
    }

    usort($array, "cmp");

    adw/0

Пожалуйста, авторизуйтесь, чтобы написать комментарий!