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 Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
nkl
Отправлено: 05 Января, 2012 - 19:12:31
Post Id



Посетитель


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


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




Ребята, помогите, срочно!

Я в общем-то не нубло в ПХП, полгода назад дипломку на нем защищал. Но за полгода геморра на месте "сисадмина" из головы напроч все по вылетало, зараз! Сейчас, прошел собеседование на новой работе по этому php и мне дали ТЗ. Начал писать и...
В общем-то, я потихоньку вспоминаю, но ниак не могу вдуплить как вывести двумерный массив в html-таблицу. Что интересно, в дипломной работе этих выводов было с десяток, только её сейчас долго искать, а времени а в обрез.

Смысл вывода массива в таблицу мне понятен. Нужно делать двойной цикл. Первый цикл считает строки, а второй - столбцы. Это мне кажется сейчас и дети знают.

PHP:
скопировать код в буфер обмена
  1. $mass[i][j]
  2. echo "<table>";
  3. for ($i=0; $i<=count($mass); $i++)
  4. {
  5.         echo "<tr>";
  6.         for ($j=0; $j<=***; $j++);
  7.         {
  8.                 echo "<td>".$mass[i][j]."</td>";
  9.         }
  10.         echo "</tr>";
  11. }
  12. echo "</table>";
  13.  

Как указать циклу, что достигнут конец строки массива? Что нужно вписать вместо ***. Не могу найти, функцию. Если её нет, то подскажите как сделать. Заранее спасибо.
 
 Top
snikers987
Отправлено: 05 Января, 2012 - 19:17:17
Post Id



Участник


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


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




foreach()

PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. $rgData = array(
  4.                         array(1,2,3,4,5),
  5.                         array(6,7,8,9,10)
  6.                                 );
  7. echo "<table>";
  8. foreach ($rgData as $rgArr){
  9.         echo "<tr>";
  10.         foreach ($rgArr as $sValue){
  11.                 echo "<td>{$sValue}</td>";
  12.         }
  13.         echo "</tr>";
  14. }
  15. echo "</table>";
  16.  


А как работать собираетесь?)

(Отредактировано автором: 05 Января, 2012 - 19:26:06)



-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
nkl
Отправлено: 05 Января, 2012 - 19:28:51
Post Id



Посетитель


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


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




Как foreach выводит одномерный массив описано тысячу ряз в гугле, а вот какпри помощи этой функции узнать, что выведен последний столбец двумерного массива - мне совершенно не понятно. Можно по подробнее?
 
 Top
snikers987
Отправлено: 05 Января, 2012 - 19:35:04
Post Id



Участник


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


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




Пример выше не понятен?


-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
nkl
Отправлено: 05 Января, 2012 - 19:40:48
Post Id



Посетитель


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


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




Прошу прощения, видимо слишком рано обновил страницу. Когда я написал сообщение, в вашем посте было только
Цитата:
foreach()

Ну я и полез в гугл искать. Работать собираюсь обыкновенно. Главное не знание синтаксиса, а понимание принципов программирования имхо. Думаю уже через недельку я на php буду шпрехать не хуже вашего Подмигивание
 
 Top
Самогонщик
Отправлено: 05 Января, 2012 - 19:47:40
Post Id



Посетитель


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


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




nkl пишет:
что выведен последний столбец двумерного массива - мне совершенно не понятно.
Как из цикла вышли, так и вывели выходит. Я правильно ответил?
 
 Top
Panoptik
Отправлено: 05 Января, 2012 - 20:06:55
Post Id



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


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


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




и никто не написал что вместо *** нужно было подставить всего лишь count($mass[$i])


-----
Just do it
 
 Top
Самогонщик
Отправлено: 05 Января, 2012 - 20:10:07
Post Id



Посетитель


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


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




Это было бы слишком просто
 
 Top
snikers987
Отправлено: 05 Января, 2012 - 20:13:10
Post Id



Участник


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


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




Panoptik пишет:
и никто не написал что вместо *** нужно было подставить всего лишь count($mass[$i])


Для ассоциативного массива не пойдет, foreach() универсальнее, имхо


-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
Panoptik
Отправлено: 05 Января, 2012 - 20:15:16
Post Id



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


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


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





мне вот эта тема с ответами напоминает классическую одесскую историю. "А вы не подскажите? - Подскажу, но зачем вам это? Купите лучше помидоры " Радость


-----
Just do it
 
 Top
snikers987
Отправлено: 05 Января, 2012 - 20:18:28
Post Id



Участник


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


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




Panoptik пишет:

мне вот эта тема с ответами напоминает классическую одесскую историю. "А вы не подскажите? - Подскажу, но зачем вам это? Купите лучше помидоры " Радость

Возьми с полки пряник


-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
nkl
Отправлено: 05 Января, 2012 - 20:26:44
Post Id



Посетитель


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


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




Цитата:
и никто не написал что вместо *** нужно было подставить всего лишь count($mass[$i])

Гениально! Единственный пост, который вправил мой мозг. А тот тут сразу в foreach полезли и т.д. и т.п..
Самогонщик, если бы я сидел на подобных форумах целыми днями и коддил проекты по ходу дела, то для меня это тоже показалось бы слишком простым...
Panoptik, а я вот не понимаю, почему, когда за помощью обращается человек с меньшим багажом знаний, чем у окружающих, все тут же начинают умничать и совершенно не вдупляют, разницы между своим уровнем осведомленности в данной области и человеком, который задает вопрос?
В общем-то, все равно спасибо, если бы не вы, я бы так и лазил по гуглам вытаращив глаза.
Тему можно закрывать
 
 Top
Самогонщик
Отправлено: 05 Января, 2012 - 20:29:52
Post Id



Посетитель


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


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




nkl пишет:
если бы я сидел на подобных форумах целыми днями и коддил проекты по ходу дела, то для меня это тоже показалось бы слишком простым...
А я не говорил что это слишком просто. Более того, как выяснилось я не правильно понял вопрос Улыбка меня сбил с толку уже готовый ответ.

А по поводу умниченья, тебя никто не оскорблял, ответ дали, значит можно развлекаться Улыбка
 
 Top
snikers987
Отправлено: 05 Января, 2012 - 20:39:39
Post Id



Участник


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


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




Я так и не понял чем foreach() не устроил, имхо зачем плодить в памяти $i, $j ?
Почему не использовать для работы с массивом цикл , который специально и предназначен для массивов..

UPD

Порой людям нужно давать то что им нужно, а не то что просят..

(Отредактировано автором: 05 Января, 2012 - 20:44:26)



-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
Panoptik
Отправлено: 05 Января, 2012 - 20:43:21
Post Id



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


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


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




snikers987 потому что человек еще не знаком с оператором foreach, а только с for...
по себе знаю, что использовать незнакомые, пускай и более удобные инструменты использовать гораздо сложнее. вот человек потренируется просветлеет и начнет юзать foreach =) я тоже не сразу понял как он работает, но когда вкурил, то мне это очень понравилось.
и на счет примера с for'ами. автор если используете count то ставьте просто знак меньше (<) а не меньше или равно (<=) у вас будут проходить по одной лишней итерации


-----
Just do it
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB