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]   

> Без описания
ytrewq123
Отправлено: 28 Мая, 2016 - 15:14:04
Post Id


Посетитель


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


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




Здравствуйте!
У меня такое дело.
Хотел сам многооомерный массив в одномерный перегнать.
Но. Вроде дошёл до глубины. Но выйти не может. Не подскажите что не так.
Знаю что куча примеров есть как. Но если кому не трудно гляньте мой что не так.

PHP:
скопировать код в буфер обмена
  1. $massiv = array(
  2.  
  3.         array(
  4.  
  5.             "title" => "Rear Window",
  6.  
  7.             "director" => "Alfred Hitchcock",
  8.  
  9.             "year" => 1954
  10.  
  11.             ),
  12.            'Этот псевдокласс выделяет только элементы',
  13.  
  14.         array(
  15.  
  16.             "title" => "Full Metal Jacket",
  17.  
  18.             "director" => "Stanley Kubrick",
  19.             ['11111111','2222222',['aaaaaaaaaaaaa',['DA',' Ili','NET'],'qqqqqqqqq'],'3333333333333'],
  20.             "year" => 1987
  21.  
  22.             ),
  23.  
  24.         array(
  25.  
  26.             "title" => "Mean Streets",
  27.  
  28.             "director" => "Martin Scorsese",
  29.  
  30.             "year" => 1973
  31.  
  32.             ),
  33.             'Elemnt massiva'
  34.  
  35. );
  36.  
  37.  
  38. function fun($massiv)
  39. {
  40.       foreach($massiv as $stroka)
  41.         {
  42.          
  43.                 if(is_array($stroka))
  44.                     {
  45.                        
  46.                                 foreach($stroka as $stroka1)
  47.                                 {
  48.                                    
  49.                                             if(is_array($stroka1))
  50.                                             {
  51.                                              
  52.                                              
  53.                                              $vyvod1[] = $stroka1;
  54.                                              
  55.                                               return fun($vyvod1);
  56.                                                
  57.                                             }
  58.                                            else
  59.                                            {
  60.                                                  $vyvod1[] = $stroka1;
  61.                                                  
  62.                                        
  63.                                            }
  64.                                      
  65.                                
  66.                                 }continue;
  67.                    
  68.                              
  69.                     }
  70.          
  71.         $vyvod1[] = $stroka;
  72.         }
  73.  
  74.      return $vyvod1;
  75. }
  76. print_r(fun($massiv));
  77.  
  78.  
  79.  



Результат получается во таким недокрут.
Вроде ясно почему. Потому как после рекурсии берёт последний массив и потом выходит из форыча считая, что всё.
Array
(
[0] => Rear Window
[1] => Alfred Hitchcock
[2] => 1954
[3] => Этот псевдокласс выделяет только элементы
[4] => Full Metal Jacket
[5] => Stanley Kubrick
[6] => 11111111
[7] => 2222222
[8] => aaaaaaaaaaaaa
[9] => DA
[10] => Ili
[11] => NET
)

А надо бы такой.
Array
(
[0] => Этот псевдокласс выделяет только элементы
[1] => Full Metal Jacket
[2] => Stanley Kubrick
[3] => 11111111
[4] => 2222222
[5] => aaaaaaaaaaaaa
[6] => DA
[7] => Ili
[8] => NET
[9] => qqqqqqqqq
[10] => 3333333333333
[11] => 1987
[12] => Mean Streets
[13] => Martin Scorsese
[14] => 1973
[15] => Elemnt massiva
)



Если не трудно кому, гляньте пожалуйста.
 
 Top
br
Отправлено: 30 Мая, 2016 - 11:12:33
Post Id


Новичок


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


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




http://stackoverflow.com/q/1319903/1007620

(Отредактировано автором: 30 Мая, 2016 - 11:13:03)

 
 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