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
Форумы портала PHP.SU :: Версия для печати :: сортировка многомерного масива
Форумы портала PHP.SU » » Вопросы новичков » сортировка многомерного масива

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

1. dadli - 19 Июля, 2012 - 11:46:26 - перейти к сообщению
здравствуите
есть мнгогомерни масив, примерно такои
$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>";


но он не работает, вопрос: как такое сделать?
структура "радителского" масива не определена.
2. EuGen - 19 Июля, 2012 - 12:00:23 - перейти к сообщению
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);

?
3. dadli - 19 Июля, 2012 - 12:07:45 - перейти к сообщению
спасибо балшое EuGen

 

Powered by ExBB FM 1.0 RC1