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]   

> Описание: Вывод данных
Tox
Отправлено: 28 Февраля, 2012 - 20:20:28
Post Id



Посетитель


Покинул форум
Сообщений всего: 314
Дата рег-ции: Нояб. 2011  
Откуда: Россия


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




Есть многомерный массив, задача вывести из него названия индексов ну и сами ячейки, чего я добился, но коряво, ели не составит труда, поясните.
PHP:
скопировать код в буфер обмена
  1. $arr = array(
  2.         'first'=>array(
  3.                                 "1"=>array(
  4.                                         "4"=>"5",
  5.                                         "6"=>"7"),
  6.                                 "2"=>array(
  7.                                         "8"=>"9",
  8.                                         "10"=>"11"),           
  9.                                 "3"=>array(
  10.                                         "12"=>"13",
  11.                                         "14"=>"15")),
  12.         'second'=>array(
  13.                                 //тоже самое, что и first, только i+1
  14. ));
  15.                        
  16.  
  17. function getArr($arr){
  18.  
  19.  
  20. echo '<ul>';
  21. foreach($arr as $v1=>$v2){
  22.         foreach($v2 as $v3=>$v4){
  23.                 foreach($v4 as $v5=>$v6){
  24. echo "<li>$v6</li>";
  25. }
  26. }
  27. }

Все работает, только выводит 5, 7, 9, 11, 13, 15 и тд. Хотя в echo стоит одно значение, как сделать, чтобы не дублировалось? То есть мне надо вывести например, отдельно "5" и отдельно "7", чтобы этими переменными потом пользоваться. Желательно через foreach, так как нужно вывести "данные" всего массива.

(Отредактировано автором: 28 Февраля, 2012 - 20:21:33)



-----
In Console We Trust. Code hard. Or die.
 
 Top
Bio man
Отправлено: 28 Февраля, 2012 - 20:24:13
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


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




Tox пишет:
отдельно "5" и отдельно "7"
Tox пишет:
Желательно через foreach, так как нужно вывести "данные" всего массива.
может определишься?

в 1 случае цикл не нужен. по поводу ф-ции --- используй рекурсию!!!

(Отредактировано автором: 28 Февраля, 2012 - 20:24:42)

 
 Top
Tox
Отправлено: 28 Февраля, 2012 - 20:30:10
Post Id



Посетитель


Покинул форум
Сообщений всего: 314
Дата рег-ции: Нояб. 2011  
Откуда: Россия


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




точно, можно же через рекурсию! спасибо.


-----
In Console We Trust. Code hard. Or die.
 
 Top
ugin_root
Отправлено: 28 Февраля, 2012 - 20:39:28
Post Id


Частый гость


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


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




Они и выводятся отдельно($v6)! Пользуйся этой переменной внутри последнего цикла.
и да выводит не "5, 7, 9, 11, 13, 15", а
CODE (html):
скопировать код в буфер обмена
  1. <ul><li>5</li><li>7</li><li>9</li><li>11</li><li>13</li><li>15</li>
 
 Top
Tox
Отправлено: 28 Февраля, 2012 - 20:51:23
Post Id



Посетитель


Покинул форум
Сообщений всего: 314
Дата рег-ции: Нояб. 2011  
Откуда: Россия


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




Да, но как их вынуть? получается строка, длинная, и я знаю, что нужные мне выражения находятся между "<li> </li>". Буду пробовать с регулярными выражениями. Спасибо


-----
In Console We Trust. Code hard. Or die.
 
 Top
Dezmont
Отправлено: 29 Февраля, 2012 - 10:26:28
Post Id



Частый гость


Покинул форум
Сообщений всего: 245
Дата рег-ции: Июль 2010  


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




Какие регулярные выражения? Вы сами выводите строку, состоящую из переменных, а потом собираетесь разбирать эту же строку с ЭТИМИ же переменными через регулярное выражение?
Ваши значения уже находятся в цикле в $v6. Вам осталось только определиться, что именно вам нужно.
 
 Top
Tox
Отправлено: 29 Февраля, 2012 - 20:46:40
Post Id



Посетитель


Покинул форум
Сообщений всего: 314
Дата рег-ции: Нояб. 2011  
Откуда: Россия


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




да я уже разобрался, просто иногда возникают вопросы в силу того, что недавно начал коддить


-----
In Console We Trust. Code hard. Or die.
 
 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