PHP循环插入

PHP循环插入,php,html,Php,Html,考虑以下循环: <?php foreach ($this->item->extra_fields as $key=>$extraField): ?> <?php if($extraField->value != ''): ?> <div class="<?php echo ($key%2) ? "odd" : "even"; ?> type<?p

考虑以下循环:

            <?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; ?>
我想将前12个项目包装在一个div中,然后将最后2个项目包装在一个div中。问题是第一个div中并不总是有12个项目。可能有2到12个项目


我如何操纵这个循环来实现这样的目标?非常感谢

只要在循环中使用计数器,就可以查看您通过它的次数

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

所以我需要的是:1234。。。这里可能有多达12个最后的项目,这样解释可能更容易。我需要在div中最后2个之前包装所有项目。然后我需要在div中包装最后2个。好的,我更新了答案,看看这是否适用于您。