我仍然是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; ?>
如果您在开始时将原始数组分成三个一组,则代码将更简单。
<?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; ?>
第二个条件应该是:
<?php if ($counter % 3 == 0 || $counter == count($rows)) { ?>
$counter % 3 == 0
在每第三排后都是真的,而$counter == count($rows)
在最后一排之后是真的。