Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Вывод массива колонками в output


Автор: Vincitiore 11.6.2010, 14:14
http://ipicture.ru/

Необходимо вот таким образом вывести массив имен. Массив одномерный. 
Структура должна быть такой 

Код

<tr>
      <td>
                                <a title="" href="#">Дайна</a>
                                <a title="" href="#">Давид</a>
                                <a title="" href="#">Дайна</a>
                                <a title="" href="#">Давид</a>
                                <a title="" href="#">Дайна</a>
                                <a title="" href="#">Давид</a>
                                <a title="" href="#">Дайна</a>
                                <a title="" href="#">Давид</a>
                                <a title="" href="#">Дайна</a>
                                <a title="" href="#">Давид</a>
                                <a title="" href="#">Дайна</a>
   </td>
   <td>
                                <a title="" href="#">Дайна</a>
                                <a title="" href="#">Давид</a>
                                <a title="" href="#">Дайна</a>
                                <a title="" href="#">Давид</a>
                                <a title="" href="#">Дайна</a>
                                <a title="" href="#">Давид</a>
                                <a title="" href="#">Дайна</a>
                                <a title="" href="#">Давид</a>
                                <a title="" href="#">Дайна</a>
                                <a title="" href="#">Давид</a>
                                <a title="" href="#">Дайна</a>
      </td>
      <td>
                                <a title="" href="#">Дайна</a>
                                <a title="" href="#">Давид</a>
                                <a title="" href="#">Дайна</a>
                                <a title="" href="#">Давид</a>
                                <a title="" href="#">Дайна</a>
                                <a title="" href="#">Давид</a>
                                <a title="" href="#">Дайна</a>
                                <a title="" href="#">Давид</a>
                                <a title="" href="#">Дайна</a>
                                <a title="" href="#">Давид</a>
                                <a title="" href="#">Дайна</a>
         </td>
</tr>


Как видно, вывод идет по столбикам сверху-вниз по 11 элементов. 

Вот я вывожу циклом. Вот вывел 11 элементов прервал внутренний цикл, запустился внешний, нарисовал ячейку и снова. Вот только хранить в переменных элемент с которого надо начать как-то некрасиво.

Может кто-то знает, как решить данную проблему более красивым способом?

Автор: MoLeX 11.6.2010, 14:16
Цитата(Vincitiore @  11.6.2010,  14:14 Найти цитируемый пост)
Вот я вывожу циклом. Вот вывел 11 элементов прервал внутренний цикл, запустился внешний, нарисовал ячейку и снова. Вот только хранить в переменных элемент с которого надо начать как-то некрасиво.

ОО

я что-то не где не заметил у тебя в РНР коде цикла, и самого РНР не заметил

Автор: bars80080 11.6.2010, 14:32
у нас есть массив имён $ar, есть количество колонок: $numcol = 3

далее всё просто:

Код

$car = count($ar);
$numrow = ceil($car/$numcol);
$tr = '';
for($i = 0; $i < $numcol; $i++) {
    $ar1 = $ar;
    $ar2 = array_splice($ar1, $i*$numrow, $numrow);
    $tr .= '<td>'.implode('', $ar2).'</td>';
}
$table .= '<tr>'.$tr.'</tr>';

Автор: Vincitiore 11.6.2010, 16:42
Спасибо большое за решение!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)