Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Сортировка массива по возрастанию

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Itan
Отправлено: 07 Декабря, 2012 - 12:03:27
Post Id


Частый гость


Покинул форум
Сообщений всего: 199
Дата рег-ции: Окт. 2008  


Помог: 0 раз(а)




Здравствуйте! Есть массив:

PHP:
скопировать код в буфер обмена
  1. (
  2.     [0] => Array
  3.         (
  4.             [0] => http://www.html
  5.             [1] => 1 980 000 р
  6.             [2] => 3724
  7.         )
  8.  
  9.     [1] => Array
  10.         (
  11.             [0] => http://www.html
  12.             [1] => 3 200 000 р
  13.             [2] => 797
  14.         )
  15. )


Выводится в таком виде:

1 980 000 р | 3724
3 200 000 р | 797

Есть ли стандартные функции для сортировки по второму столбцу в порядке возрастания? Чтобы выводилось так:

3 200 000 р | 797
1 980 000 р | 3724

Пробовал sort, rsort, но что-то не выходит - сортирует но не понятно, каждый раз по разному.
 
 Top
EuGen Администратор
Отправлено: 07 Декабря, 2012 - 12:08:04
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Есть. array_multisort


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Itan
Отправлено: 07 Декабря, 2012 - 12:28:02
Post Id


Частый гость


Покинул форум
Сообщений всего: 199
Дата рег-ции: Окт. 2008  


Помог: 0 раз(а)




Что-то не получается. Пробовал так:
PHP:
скопировать код в буфер обмена
  1. array_multisort($all_finish[0],SORT_ASC, SORT_NUMERIC, $all_finish[1], $all_finish[2], $all_finish[3], $all_finish[4], $all_finish[5], $all_finish[6]);


Пробовал в цикле:
PHP:
скопировать код в буфер обмена
  1. for($i=0; $i<25; $i++) {array_multisort($all_finish[$i], SORT_ASC, SORT_NUMERIC);}


Пробовал так:

В чем ошибка?

(Отредактировано автором: 07 Декабря, 2012 - 12:30:15)

 
 Top
EuGen Администратор
Отправлено: 07 Декабря, 2012 - 12:40:02
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Itan
PHP:
скопировать код в буфер обмена
  1. $rgData=array
  2.     (
  3.         0 => array
  4.             (
  5.                 0 => 'http://www.html',
  6.                 1 => '1 980 000 р',
  7.                 2 => 3724
  8.             ),
  9.         1 => array
  10.             (
  11.                 0 => 'http://www.html',
  12.                 1 => '3 200 000 р',
  13.                 2 => 797
  14.             )
  15.     );
  16.  
  17. $rgOrder = array_map(function($rgItem)
  18. {
  19.    return $rgItem[2];
  20. }, $rgData);
  21. array_multisort($rgOrder, SORT_ASC, $rgData);
  22. //var_dump($rgData);

array_multisort хорош, когда нужна смешанная сортировка по нескольким размерностям. Если размерность одна, то вполне подойдет и uasort


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Itan
Отправлено: 07 Декабря, 2012 - 12:57:11
Post Id


Частый гость


Покинул форум
Сообщений всего: 199
Дата рег-ции: Окт. 2008  


Помог: 0 раз(а)




Огромное спасибо! Мучаюсь второй день! Все работает, круто!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB