PHP循环插入

时间:2014-09-28 13:36:09

标签: php html

考虑以下循环:

            <?php foreach ($this->item->extra_fields as $key=>$extraField): ?>
            <?php if($extraField->value != ''): ?>
                <div class="<?php echo ($key%2) ? "odd" : "even"; ?> type<?php echo ucfirst($extraField->type); ?> group<?php echo $extraField->group; ?>">
                    <span class="itemExtraFieldsValue"><?php echo $extraField->value; ?></span>
                </div>
            <?php endif; ?>
        <?php endforeach; ?>

我想在div中包装前12个项目,然后在div中包含最后2个项目。问题是第一个div中并不总是有12个项目。可以有2到12件物品。

我如何操纵这个循环来达到这个目的?非常感谢

1 个答案:

答案 0 :(得分:0)

只需在循环中使用计数器即可查看您已经完成了多少次。

<?php $count = 1; ?>
<?php $break= count($this->item->extra_fields) - 2; ?>
<?php echo "<div>"; ?>
<?php foreach ($this->item->extra_fields as $key=>$extraField): ?>
    <?php if($extraField->value != ''): ?>
        <div class="<?php echo ($key%2) ? "odd" : "even"; ?> type<?php echo ucfirst($extraField->type); ?> group<?php echo $extraField->group; ?>">
            <span class="itemExtraFieldsValue"><?php echo $extraField->value; ?></span>
        </div>
        <?php $count++; ?>
    <?php endif; ?>
    <?php if ($count == $break) : ?>
        <?php echo "</div><div>"; $count ==0; ?>
    <?php endif; ?>
<?php endforeach; ?>
<?php echo '</div>'; ?>