sakrab
@sakrab
Не будь побежден злом, но побеждай зло добром...

Генератор таблицы. Как правильно сделать?

"Я у мамы разработчик"

Стыдно даже спрашивать. Подскажите как верно сгенерировать таблицу, по такому принципу:

012
345
678


У меня только так:
000
111
222


Пытаюсь сделать таблицу с ссылка в Drupal.

<table class="table table-bordered field-items"<?php print $content_attributes; ?>>
    <?php foreach ($items as $delta => $item): ?>
	<tr>
	<?php for($i=0; $i <= 2; $i++): ?>
	
		<td>
			<?php print render($item); ?>
		</td>
	
	<?php endfor; ?>
	</tr>
    <?php endforeach; ?>
  </table>


Большое спасибо!
  • Вопрос задан
  • 389 просмотров
Пригласить эксперта
Ответы на вопрос 4
@ygrishaev
Например, вот так

<? $data = array_chunk(range(0, 8), 3); ?>
<table>
    <? foreach ($data as $row) : ?>
        <tr>
            <? foreach ($row as $item) : ?>
                <td><?=$item?></td>
            <? endforeach;?>
        </tr>
    <? endforeach;?>
</table>
Ответ написан
0neS
@0neS
php.net/manual/en/function.array-chunk.php

$items = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];

$rows = array_chunk($items, 3);

foreach ($rows as $items) {
    foreach ($items as $item) {
        echo $item;
    }
}
Ответ написан
AlexanderShapoval
@AlexanderShapoval
PHP maker
Как вариант на циклах for:
<?php
	$data = [
		0 => [
			0,
			1,
			2,
		],
		1 => [
			3,
			4,
			5,
		],
		2 => [
			6,
			7,
			8,
		],
	];
?>

<table>
	<?php $count1 = count($data); ?>
    <?php for ($i = 0; $i < $count1; $i++) { ?>
        <tr>
    		<?php $count2 = count($data[$i]); ?>
            <?php for ($j = 0; $j < $count2; $j++) { ?>
                <td><?= $data[$i][$j] ?></td>
            <?php } ?>
        </tr>
    <?php } ?>
</table>
Ответ написан
@oxidmod
echo '<tr>'
foreach ($items as $index => $item) {
echo "<td>".render($item)."</td>";
if (($index +1)%3==0) echo '</tr><tr>';
}
echo '</tr>';


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

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
ВЕРТЕКС Санкт-Петербург
от 90 000 ₽
Laptop.ru Москва
от 150 000 до 190 000 ₽
Laptop.ru Санкт-Петербург
от 130 000 до 170 000 ₽