我对PHP还是很陌生,试图找出我在工作中的网站上发现的问题。在屏幕快照中,最后一个div.image-group
应该在其中只有两个项目的div.image-row
内部–基本上,我一直希望div.image-group
在div.image-row
内部,这最多应包含三个div.image-group
(但第一个div.image-row
可能包含更少的个)。
有人能指出我正确的方向吗?
代码如下:
<?php $counter = 0; ?>
<?php foreach ($rows as $id => $row): ?>
<?php $counter++; ?>
<?php if ($counter % 3 == 1 || $counter === 1) { ?>
<div class="image-row small clearfix">
<?php } ?>
<div class="image-group"><?php print $row; ?></div>
<?php if (($counter != 1 && $counter % 2 == 1) || ($id == count($rows) -1 && $counter % 2 != 1)) { ?>
</div>
<?php } ?>
<?php endforeach; ?>
答案 0 :(得分:3)
如果将开始的原始数组分为三部分,则代码将更简单。
<?php foreach (array_chunk($rows, 3) as $image_row): ?>
<div class="image-row small clearfix">
<?php foreach ($image_row as $image_group): ?>
<div class="image-group"><?= $image_group ?></div>
<?php endforeach; ?>
</div>
<?php endforeach; ?>
答案 1 :(得分:1)
第二个条件应该是:
<?php if ($counter % 3 == 0 || $counter == count($rows)) { ?>
$counter % 3 == 0
在第三行之后为真,$counter == count($rows)
在最后一行之后为真。