| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > сортировка двумерного массива по нужному полю |
| Автор: RaZoR 29.6.2004, 20:03 |
| в общем есть двумерный массив к примеру столбцов 10 и строк много... если использовать простые сортировки типа sort(), то сортировка будет по первому полю, а как сделать, чтобы сортировка была по заданному полю? есть ли уже готовые решения или самому писать придется...? |
| Автор: RaZoR 29.6.2004, 21:00 | ||
раз никто не отвечает написал свою сортировку.. она не самая быстрая, но для небольших массивов пойдет. методом "пузырька"..
|
| Автор: RaZoR 29.6.2004, 21:47 | ||
не, это слишком медленно.. даже при 500 записях тормозит.. вот переделал на quicksort теперь...
|
| Автор: yUAC 29.6.2004, 22:44 |
| Ладно, так и быть, array_multisort тебе поможет |
| Автор: RaZoR 29.6.2004, 23:16 |
| т.е.? как? если у меня массив к примеру: 3|asjd|dfja|1997|dfsg 1|hdfs|lkas|2004|sdfg 2|weur|cbsd|1941|ssdh и нужно его отсортировать по 4 столбцу, то как? т.е. получить: 2|weur|cbsd|1941|ssdh 3|asjd|dfja|1997|dfsg 1|hdfs|lkas|2004|sdfg |
| Автор: Akina 30.6.2004, 08:48 | ||
|
| Автор: Master 30.6.2004, 10:03 |
| Akina не нужно копировать мануал в форум, достаточно дать ссылку. |
| Автор: RaZoR 30.6.2004, 12:08 |
| и все равно я не понял... как сделать то? я читал про эту ф-ию, но как мне ее заюзать, чтобы все получилось? |
| Автор: Akina 30.6.2004, 15:30 | ||
| Master Трудно дать ссылку на локально установленный MSDN RaZoR
array_multisort ($ar[3], SORT_NUMERIC) |
| Автор: RaZoR 30.6.2004, 17:19 |
| ясно, а что будет быстрее, array_multisort или usort? |
| Автор: yUAC 30.6.2004, 21:19 |
| Конечно array_multisort. Не забывай, что PHP — интерпретатор, и работает он в сотни раз медленней, чем функции (даже самые кривые), написанные на C и встроенные в PHP |
| Автор: V 1.7.2004, 04:48 | ||||
Меня тоже очень интересует вопрос сортировки двумерного массива по какому-нибудь столбцу (не по первому). В двумерном массиве, эприведенная выше функция сортирует только третью строку, а не столбец.... |
| Автор: RaZoR 1.7.2004, 10:56 | ||
у меня щас так:
$array - массив $column - нужный столбец вызывать $array=razor_sort($array,3); работает быстро |