Русскоязычный форум, посвященный фреймворку Kohana
http://forum.kohanaframework.su/

Подскажите по foreach - вывод массива
http://forum.kohanaframework.su/viewtopic.php?f=31&t=426
Страница 1 из 1

Автор:  joggi [ 26 окт 2012, 00:34 ]
Заголовок сообщения:  Подскажите по foreach - вывод массива

Например есть:
Код:
<? foreach ($products as $product): ?>
<tr>
<td><?=$product?></td>
</tr>
<? endforeach ?>


он выводит
    1
    2
    3
    4
а, как вывести?
    1 2
    3 4

нашёл
Код:
 $a=$a+1; if ($a==2) {$a=0; echo '</tr><tr>'}
, но как применить не понимаю (

Автор:  nixon [ 26 окт 2012, 10:55 ]
Заголовок сообщения:  Re: Подскажите по foreach - вывод массива

Код:
<? $a=0; foreach ($products as $product): ?>
<tr>
<td><?=$product; $a=$a+1; if ($a==2) {$a=0; echo '</tr><tr>'}?></td>
</tr>
<? endforeach ?>

Автор:  joggi [ 26 ноя 2012, 07:18 ]
Заголовок сообщения:  Re: Подскажите по foreach - вывод массива

а так?
Код:
<? foreach ($products as $a => $product): ?>
<tr>
<td><?=$product; if ($a % 2 == 0)   echo '</tr><tr>'?></td>
</tr>
<? endforeach ?>

Автор:  nixon [ 26 ноя 2012, 16:34 ]
Заголовок сообщения:  Re: Подскажите по foreach - вывод массива

Можно так, но вдруг в дальнейшем вы будете ассоциативный массив $products перебирать?

Автор:  Kurk_SS [ 03 дек 2012, 18:56 ]
Заголовок сообщения:  Re: Подскажите по foreach - вывод массива

nixon писал(а):
Код:
<? $a=0; foreach ($products as $product): ?>
<tr>
<td><?=$product; $a=$a+1; if ($a==2) {$a=0; echo '</tr><tr>'}?></td>
</tr>
<? endforeach ?>


Ну наверно тр пара не там стоит, всётаки строка закрываеться после закрытя ячейки а не до :)

и лучше вынести этот условный блок до тега тд(дабы не начинать лишнюю строку в конце работы цикла)
Код:
<? $a=0; foreach ($products as $product): ?>
<tr>
<?if ($a==2) {$a=0; echo '</tr><tr>'}?><td><?=$product; $a=$a+1; ?></td>
</tr>
<? endforeach ?>


а концовка должна быть
<?if ($a==1) {echo '<td> </td>';}?>
</tr>
(если елементов было не парное количество, то дописать пустую ячейку ) :)

Страница 1 из 1 Часовой пояс: UTC + 4 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/