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]   

> Без описания
dadli
Отправлено: 19 Июля, 2012 - 11:46:26
Post Id



Посетитель


Покинул форум
Сообщений всего: 416
Дата рег-ции: Май 2011  
Откуда: тифилис


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




здравствуите
есть мнгогомерни масив, примерно такои
$mas = array("s",array("c","b","a"),array(3,5,1),"a",array("s",array("z","a")));
задача: отсортировать все масиви-елементи по возврастиню, написал код:
PHP:
скопировать код в буфер обмена
  1. $mas = array("s",array("c","b","a"),array(3,5,1),"a",array("s",array("z","a")));
  2.  
  3. function sortsort($val) {
  4.         if (is_array($val)) {
  5.                 sort($val);
  6.         }
  7. }
  8.  
  9. array_walk_recursive($mas,'sortsort');
  10.  
  11. echo "<pre>";
  12. var_dump($mas);
  13. echo "</pre>";


но он не работает, вопрос: как такое сделать?
структура "радителского" масива не определена.

(Отредактировано автором: 19 Июля, 2012 - 11:47:19)

 
 Top
EuGen Администратор
Отправлено: 19 Июля, 2012 - 12:00:23
Post Id


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


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


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




PHP:
скопировать код в буфер обмена
  1. function recursiveSort(&$rgData)
  2. {
  3.    sort($rgData);
  4.    foreach($rgData as &$mItem)
  5.    {
  6.       if(is_array($mItem))
  7.       {
  8.          recursiveSort($mItem);
  9.       }
  10.    }
  11. }
  12.  
  13. $rgData = array("s",array("c","b",array(5,0,2)),array(3,5,1),"a",array("s",array("z","a")));
  14. recursiveSort($rgData);
  15. //var_dump($rgData);

?


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



Посетитель


Покинул форум
Сообщений всего: 416
Дата рег-ции: Май 2011  
Откуда: тифилис


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




спасибо балшое EuGen
 
 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