在foreach循环</div>中的每个第8个元素之后的PHP echo <div>

时间:2013-07-08 21:58:00

标签: php html foreach

<?php foreach ( $onecho['icons'] as $icon => $file ) : ?>
    <li class="play">
        <label>
            <img class="icon" src="<?php echo onecho_Class_Icon::getIconUrl($icon) ?>"/>
            <input type="radio" name="icon" value="<?php echo $icon ?>" />
       </label>
    </li>
<?php endforeach ?>

我正在尝试的是,每个8(图像)的foreach都会让它回显div。

2 个答案:

答案 0 :(得分:1)

添加计数器并在$ i%8 == 0

时回显div
<?php $i = 0; ?>
<?php foreach ( $onecho['icons'] as $icon => $file ) :
      $i++;
?>
<li class="play">
<label>
<img class="icon" src="<?php echo onecho_Class_Icon::getIconUrl($icon) ?>"/>
<input type="radio" name="icon" value="<?php echo $icon ?>" />
</label>
<?php if ($i%8 == 0): ?>
<div>My Div</div>
<?php endif;?>
</li>
<?php endforeach ?>

答案 1 :(得分:1)

一个简单的循环计数器就可以了。

如果它可被8整除,则回显div。

<?php
$i = 1;

foreach ( $onecho['icons'] as $icon => $file ) : 
    if ($i % 8 == 0 ) echo '<div>';
?>

<li class="play">
<label>
<img class="icon" src="<?php echo onecho_Class_Icon::getIconUrl($icon) ?>"/>
<input type="radio" name="icon" value="<?php echo $icon ?>" />
</label>
</li>
<?php
    if ($i % 8 == 0 ) echo '</div>';

    $i++;
endforeach;
?>