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

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

  • прдунь

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

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

    Есть массив
    
    array(
     array(
      'title' => 'aaaa',
      'order' => -1
     ),
     array(
      'title' => 'bbbb',
      'order' => 5
     ),
     array(
      'title' => 'cccc',
      'order' => 2
     ),
    );


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

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

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

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

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

    Spritz 17 июля 2010 г. 13: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");
    
    
    https://smappi.org/ - платформа по созданию API на все случаи жизни

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