Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用现有的¿,在div中每4个元素进行一次换行;柜台_Php_Arrays_If Statement_Foreach_Counter - Fatal编程技术网

Php 使用现有的¿,在div中每4个元素进行一次换行;柜台

Php 使用现有的¿,在div中每4个元素进行一次换行;柜台,php,arrays,if-statement,foreach,counter,Php,Arrays,If Statement,Foreach,Counter,我必须修改这段代码,在一个分区内每4个拇指(外部图像)回显一次 我在Stackoverflow上搜索过,但所有答案都谈到设置计数器,我希望使用已经在计算额外图像的计数器来避免这种情况(如果可能的话)。。我认为这很容易,就像有条件的 如果计数器extraimages==3回显div。。但是我该如何回到0,或者我可能误解了实现这一点的方法 这是设置数组和设置for each的代码部分 <?php if($extraimagecount >0){?> <?php foreach

我必须修改这段代码,在一个分区内每4个拇指(外部图像)回显一次

我在Stackoverflow上搜索过,但所有答案都谈到设置计数器,我希望使用已经在计算额外图像的计数器来避免这种情况(如果可能的话)。。我认为这很容易,就像有条件的

如果计数器extraimages==3回显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.'_';
}

}
?>

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

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

用于($i=0;$iThanks,但是你能看看代码吗..我能使用计数器$rotate吗..代码中使用$rotate的原因是什么,它的用途是什么?谢谢,但是你能看看代码吗..我能使用计数器$rotate吗..代码中使用$rotate的原因是什么,它的用途是什么?从我看到的情况来看,$rotate只是为eve加起来的因此它将等于sizeof($extraimage)。如果有超过8个额外的图像,它会在$tumppr中添加一个。这两个变量在脚本中不会使用一次。它们都用作计数器,但不会在任何条件中使用,也不会以任何方式输出或添加任何功能,除非代码被从文章中排除。好的,代码肯定会使用一些清理,我确信它会我要说得更清楚一些。你从这个块中删除了任何代码吗?或者全部都删除了吗?实际上我删除了一些html表,但我没有删除任何phpWell,假设使用了$rotate,它看起来像是每第8个图像重置一次,其中显示if($rotate==8)。如果你需要做4s,你可以做if($rotate==0 | |$rotate==4)