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

  • Автор темы Автор темы Psixo
  • Дата начала Дата начала

Psixo

Новичок
Сортировка многомерных массивов

Задача,осортировать многомерный массив по одному из полей.
Массив такого вида:

$mas[0] = (id => "924314", url => "www.site1.ru", ...);
$mas[1] = (id => "561478", url => "www.site45.ru", ...);
......
$mas[n] = (id => "xxxxxxx", url => "www.xxx.ru", ...);

Мне необходимо этот массив отсортировать,для примера,по полю id,т.е. результат будет что-то вроде такого:

$mas[0] = (id => "561478", url => "www.site45.ru", ...);
$mas[1] = (id => "924314", url => "www.site1.ru", ...);
......
$mas[n] = (id => "xxxxxxx", url => "www.xxx.ru", ...);

Возможно ли это стандартными функциями сортировки сделать,важна скорость, пока реализовал собственную сортировку но не хочется тратить время на написание быстрой сортировки(,а ждать пока пузырек обработает 5000записей :( ,есть альтернатива?
 
Гравицапа, я если честно так и не понял как её заюзать в моем случаи, доку читал,но в итоге не разобравшись сделал ручками.
Там есть такой пример:
$ar = array (array ("10", 100, 100, "a"), array (1, 3, "2", 1));
array_multisort ($ar[0], SORT_ASC, SORT_STRING,
$ar[1], SORT_NUMERIC, SORT_DESC);

Хых, и вот как мне такое же рализовать с 5000 тысячами записей + ассоциативный массив,см выше.
 
Psixo
а откуда берется такой массив, и зачем тебе нужно его отсортировать?
 
Массив берется из файла с определенной структурой.
Я парсю это файл и загружаю подобные данные в память,по ним произвожу поиск,результаты поиска вывожу на экран, но так же необходима сортировка результата поиска по различным параметрам.
 
Автор оригинала: Wicked
Psixo
а откуда берется такой массив, и зачем тебе нужно его отсортировать?
Присоединяюсь.

Если вы сами генерите такой массив
То (хотя это далеко не самый запущенный случай) возможно имеет смысл генерить массив поудобней.

а вообще если на самом деле
надо сортировать

Usort вас спасет
 
1. Файлы генерятся совершенно сторонней программой, потому ни о какой БД рече не идет.
2. Насчет отсортировать,я уже объйснял выше, требуется провести поиск,а результат вывести отсортированным по одному из параметров.
3. За usort спасибо,я непонятным образом про неё даже не вспомнил %(
 
1. Файлы генерятся совершенно сторонней программой, потому ни о какой БД рече не идет.
значит, тогда, когда "сторонняя" программа обновляет файл, нужно его распарсивать и обновлять данные в бд.
угу. спас. теперь мы его потеряли.
 
Сверху