0

我必须修改此代码,以在 div 内每 4 个拇指(额外图像)回显...

我在 Stackoverflow 上进行了搜索,但所有答案都在谈论设置计数器,我想避免这种情况(如果可能的话)使用已经在计算额外图像的计数器。我认为它最简单就像条件

如果 counter extraimages==3 echo div .. 但是我如何回到 0 ,或者我可能误解了执行此操作的方法..

这是设置数组和设置 for each 的代码部分。

<?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.'_';
}

}
?>
4

1 回答 1

1

它实际上很简单,使用 % 运算符。a%b 将返回 a/b 的剩余部分。这是你如何使用它

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

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

然后,您可以使用它在您的情况下创建 4 组。

于 2013-06-01T22:37:43.947 回答