Здравствуйте. Задача такая. Есть массив с числами. Массив имеет вид Код (PHP): $admin_module = array( 1 => array( // Номер модуля в массиве. '1' => 'module.png', //Название иконки. '2' => 'Настройки', //Название Модуля для отображения. '3' => 'Общие настройки системы.', //Описание модуля.. '4' => '1', //Кому давать доступ: 1-Для администратора. 2-Для модератора, так же доступен и админам. '5' => 'setting', //ссылка GET запроса намодуль. то есть select=запрос. Указывается только запрос ), 2 => array( // Номер модуля в массиве. '1' => 'dd.png', //Название иконки. '2' => 'Настройки', //Название Модуля для отображения. '3' => 'Общие настройки системы.', //Описание модуля.. '4' => '1', //Кому давать доступ: 1-Для администратора. 2-Для модератора, так же доступен и админам. '5' => 'setting', //ссылка GET запроса намодуль. то есть select=запрос. Указывается только название запроса ), 3 => array( // Номер модуля в массиве. '1' => 'dd.png', //Название иконки. '2' => 'Настройки', //Название Модуля для отображения. '3' => 'Общие настройки системы.', //Описание модуля.. '4' => '1', //Кому давать доступ: 1-Для администратора. 2-Для модератора, так же доступен и админам. '5' => 'setting', //ссылка GET запроса намодуль. то есть select=запрос. Указывается только запрос ), 4 => array( // Номер модуля в массиве. '1' => 'dd.png', //Название иконки. '2' => 'Настройки', //Название Модуля для отображения. '3' => 'Общие настройки системы.', //Описание модуля.. '4' => '1', //Кому давать доступ: 1-Для администратора. 2-Для модератора, так же доступен и админам. '5' => 'setting', //ссылка GET запроса намодуль. то есть select=запрос. Указывается только запрос ), Вывожу массив в цикле. И нужно сгенерировать таблицу html, по 2 столбца в ряд. Код (PHP): $i=1; while(each($admin_module)){ $main .=<<<HTML <td width="50%"> <table width="100%"> <tbody><tr> <td width="70" height="70" valign="middle" align="center" style="padding-top:5px;padding-bottom:5px;"><img src="/images/{$admin_module[$i][1]}" border="0"></td> <td valign="middle"><div class="quick">[url="/admin.php?mod=options&select={$admin_module[$i][5]}"]{$admin_module[$i][3]}[/url]</div></td> </tr> </tbody></table> </td> HTML; $i++; } В шаблоне, у меня тег {main} добавляет из цикла вывод. Получается все записи в одну строку. Код (Text): <table width="100%"> <tbody><tr> <td bgcolor="#EFEFEF" height="29" style="padding-left:10px;"><div class="navigation">Все модули, которые были подключены в скрипт</div></td> </tr> </tbody></table> <div class="unterline"></div> <table width="100%"><tbody> <tr> {main} </tr> </tbody></table> Нужно как то в цикле сделать, что бы через каждые 2 вывода, скрипт добавлял <tr> Код. </tr>. Надеюсь понятно описал. Заранее спасибо огромное. Просто бьюсь уже фиг знает сколько. На выводе, доложно получится что то вроде <tr> Код Код </tr> <tr> Далее Далее </tr> То есть по 2 столбца на строчку.
Там тебе не рыбу, но сеть. Код (PHP): $arr = array(1,2,3,4,5,6); $cutter = 0; for($i = 0, $size = sizeof($arr); $i<$size; $i++){ if ($cutter<2){ echo $arr[$i].' '; $cutter++; } else{ echo '<br>'; $i--; $cutter = 0; } }
Добавлю огня: Так-то задачка говно, но есть нюанс. Число столбцов должно быть одинаково во всех колонках. Если элементов массива не хватает, на полую строку, надо пустые td добавлять. Можно использовать вложенные циклы по строкам и столбцам чтобы вывести полный набор tr + td. И дергать из массива очередной элемент функцией next или each. В справке сказано как узнать когда массив закончится.