Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Общие вопросы > Сортировка масива |
Автор: Гость_Вася 7.10.2003, 10:12 | ||
Помогите мне отсортировать массив не стандартными функцыми, типа
Тут ошибка, немного глючит, подскажите свой вариант сортировки! Нужно тут отсортировать числовой масив $max2 ![]() Всем спасибо! |
Автор: Master 7.10.2003, 10:32 |
Это надо сначала объяснить на пальцах... что собственно надо и как отсортировать... |
Автор: Гость_Вася 9.10.2003, 10:23 |
Есть массив а состоящий из чисел 1, 9, 5, 2, 4, 3, 7, 6, 0 и мне его надо отсортировать по возрастанию не стандартными функциами, а самому написать как в примере выше! |
Автор: Гость_Вася 9.10.2003, 10:24 | ||
Чтото в роде такой сортировки надо
|
Автор: Master 9.10.2003, 11:26 |
А зачем? Если есть уже готовые... функции написанные на пхп работают медленне встроенных функций |
Автор: Secandr 9.10.2003, 12:18 |
Гость_Вася>> А если попробывать завести массив массивов? $max=array($id,$press,$link,$name); или даже так: $max[$id]=array($press,$link,$name); |
Автор: MuToGeN 9.10.2003, 12:30 | ||
А не проще ли БД для этого пользовать?
|
Автор: Secandr 9.10.2003, 15:12 | ||||
Вот из манулов пример:
Это сортировка по $press |
Автор: Гость_ВАся 10.10.2003, 03:24 |
Мне именно надо собственную, всем спасибо! |
Автор: Вася2 10.10.2003, 19:26 | ||||
Есть текстовой файл baza.txt, в нем записанны данные:
Первое число количество, второе - название. Читаем файл в массив. Надо отсортировать массив по возрастанию так чтобы при сортировки по количеству названия сразу тоже перемещались и получилось в конце:
|
Автор: Vaulter 11.10.2003, 14:48 |
asort($array) |
Автор: MuToGeN 15.10.2003, 09:24 |
2Вася2: Модератор: пожалуйста, не дублируйте постинги. |
Автор: Вася2 15.10.2003, 09:27 | ||
в смымсли
|
Автор: MuToGeN 15.10.2003, 09:36 |
> в смымсли Постинг <<Есть текстовой файл baza.txt...>> появился второй раз с разницей по времени в несколько дней. |
Автор: Вася2 15.10.2003, 17:20 |
Почему, мне надо отсортировать а потом не записывать в массив! |
Автор: Вася2 16.10.2003, 03:30 |
Я имею виду мне надо отсортировать тот файл а потом не куда не записывать |
Автор: Secandr 16.10.2003, 08:43 |
А как ты хочешь отсортировать файл не читая его? Если ты его читаешь, то информация "сохраняется" в памяти. И удобней "сохранять" её в виде массива. А затем ты уже можешь печатать этот массив, сохранять в тот же файл,... |
Автор: Вася2 17.10.2003, 03:34 | ||
Secandr
Вы бы не могли написать мне код программы по вашему примеру, подробней, спасибо! |
Автор: Secandr 17.10.2003, 07:25 |
А что программа должна делать? Вопрос был: "как отсортировать массив?". На него ответили. Что кроме этого сделать нужно? |
Автор: Вася2 18.10.2003, 18:52 | ||
|
Автор: Secandr 19.10.2003, 09:53 | ||||
Если первый вариант:
|
Автор: Вася2 20.10.2003, 19:20 | ||
А как мне мой файл прочитать в такой массив, вы простите за глупые вопросы, я только начал изучать ПХП |
Автор: Secandr 21.10.2003, 07:14 | ||||
Если файл такой:
|
Автор: Вася2 22.10.2003, 17:06 | ||
Ваша программа не работает, посмотрите и исправьте ошибки, спасибо! |
Автор: MuToGeN 22.10.2003, 17:57 |
что говорит? |
Автор: Dagger_live 22.10.2003, 20:35 |
$max2 = array(1,2,5,2,9,3,4); $j = 0; for( $i = 0; $i < sizeof( $max2 ); $i++){ if( $max2[$i] > $max2[$i+1]){ // change > to < for decrease or increase or contrary $j = $max2[$i]; $max2[ $i ] = $max2[ $i + 1 ]; $max2[ $i + 1 ] = $j; } } |
Автор: Dr.Death 22.10.2003, 21:37 | ||
Dagger_live>>А если за один проход цикла мы не отсортируем массив, то как? По мойму надо еще одну штуку сделать:
|
Автор: Secandr 23.10.2003, 09:41 |
Dagger_live>> Зачем писать сортировку массива? Есть asort,usort, sort. !!!!!! Почему бы просто не написать sort($max2) ![]() |
Автор: Вася2 23.10.2003, 17:15 | ||||
Dagger_live: Скрипт сортирует плохо! Результат:
У меня был массив такой: $max2 = array(1,2,5,6,9,3,4); А ваша (Dr.Death) сортировка вобще не работает. Выдается ошибка:
Подскажите как иправить этот глюк!!! |