PHP的条件

时间:2019-03-08 21:28:47

标签: php

我对PHP还是很陌生,试图找出我在工作中的网站上发现的问题。在屏幕快照中,最后一个div.image-group应该在其中只有两个项目的div.image-row内部–基本上,我一直希望div.image-groupdiv.image-row内部,这最多应包含三个div.image-group(但第一个div.image-row可能包含更少的个)。

enter image description here

有人能指出我正确的方向吗?

代码如下:

<?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; ?>

2 个答案:

答案 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)在最后一行之后为真。