对于div中的每4个元素使用现有的¿计数器?

时间:2013-06-01 22:28:54

标签: php arrays if-statement foreach counter

我必须修改此代码,以回显div中的每4个拇指(extraimage)...

我在Stackoverflow上搜索但是所有的答案都谈到设置一个计数器,我想避免这个(如果可能的话)使用一个已经计算了额外图像的计数器。我认为它最容易像条件一样

如果计数器额外图像== 3 echo div ..但我怎么回到0 ,,或者我可能会误解这样做的方法..

这是设置数组的代码的一部分,并为每个数组设置。

<?php if($extraimagecount >0){?>
<?php foreach ($extraimage as $key=>$value){?>



<?php }?>


<?php }?>

<a href="<?php echo DATA_DIR."/".$id."/".$this->get_variable('firstimage');?>" >
    <img src="<?php echo DATA_DIR."/".$id."/".$this->get_variable('firstimage');?>" class="minis"/>
</a>



<?php if($extraimagecount >0){
$rotate=1;
$tumppr=0;

?>
<?php foreach ($extraimage as $key=>$value){

$rotate=$rotate+1;
?>



<a href="<?php echo DATA_DIR."/".$id."/".$value['image'];?>" >
    <img src="<?php echo DATA_DIR."/".$id."/t_".$value['image'];?>" class="minis"/>
</a>



<?php 



if($rotate==8)
{
    $rotate=0;
    $tumppr=$tumppr+1;

    ?>




    <?php 

}
?>

<?php }?>


<?php }?>
</div>


<?php 


 $lftstr="";
 $rgtstr="";
if($extraimagecount >0)
{
$extcnt=count($extraimage); 
$extcntnew=$extcnt+1;

 $extdivide=intval(($extcntnew/8));
 $extmode=($extcntnew % 8);


for($i=0;$i<$extdivide;$i++)   //************ For Right Arrow ***************/
{
?>
    <div id="rgt_<?php echo $i;?>" class="rgt" <?php if($i >0 || $extmode ==0){?>style="display: none;"<?php }?>  ><img class="rgtimg" src="images/rnext.png"></div>
<?php 
    $rgtstr=$rgtstr.$i.'_';
}

for($ii=1;$ii<$extdivide;$ii++)   //************ For left Arrow ***************/
{
    ?>
    <div id="lft_<?php echo $ii;?>" class="lft" style="display: none;" ><img class="lftimg" src="images/lnext.png"></div>
    <?php

    $lftstr=$lftstr.$ii.'_';


}

if($extmode >0)
{
?>
    <div id="lft_<?php echo $extdivide;?>" class="lft" style="display: none;" ><img class="lftimg" src="images/lnext.png"></div>

<?php 

    $lftstr=$lftstr.$extdivide.'_';
}

}
?>

1 个答案:

答案 0 :(得分:1)

实际上非常简单,使用%运算符。 a%b将返回a / b的余数。继承人你是如何使用它的

for($i=0;$i<9;$i++)
{
    echo $i%3." ";
}

这将打印出来 0 1 2 0 1 2 0 1 2

然后,您可以使用它在您的案例中创建4个组。