Php 如何在foreach循环中每5次迭代后定义html标记

Php 如何在foreach循环中每5次迭代后定义html标记,php,foreach,logic,iteration,Php,Foreach,Logic,Iteration,我只想知道如何在foreach循环中每5次迭代后定义HTML标记,这里是我的代码 <?php $i=1; foreach($videoEntries as $data){ ?> <div class="item-main"> <div class="item"> <a href="javascript:;" onclick="ratePopup(2)" title="<?php echo $data-

我只想知道如何在foreach循环中每5次迭代后定义HTML标记

,这里是我的代码

<?php
$i=1;    
foreach($videoEntries as $data){
?>
    <div class="item-main">
        <div class="item">
        <a href="javascript:;" onclick="ratePopup(2)" title="<?php echo $data->video_name;?>">
        <div class="overlaid"></div>
        <img src="<?php echo $image_url;?>"  width="93" height="89"/>
        </a>
        </div>
        <p title="Trailer Name"><strong><?php echo $data->video_name;?></strong></p>
        <p title="Released Date"><?php echo $data->video_released_date;?></p>
    </div>
<?php 
    if($i == 5){
        echo "<br clear = 'all'>";    
    }
}
?>

试试这个:

<?php
$i=0;    
foreach($videoEntries as $data){
$i++;
?>
    <div class="item-main">
        <div class="item">
        <a href="javascript:;" onclick="ratePopup(2)" title="<?php echo $data->video_name;?>">
        <div class="overlaid"></div>
        <img src="<?php echo $image_url;?>"  width="93" height="89"/>
        </a>
        </div>
        <p title="Trailer Name"><strong><?php echo $data->video_name;?></strong></p>
        <p title="Released Date"><?php echo $data->video_released_date;?></p>
    </div>
<?php 
    if($i == 5){
        echo "<br clear = 'all'>";  
        $i=0;
    }
}
?>

您可以更改:

if($i == 5){
    echo "<br clear = 'all'>";    
}
if($i==5){
echo“
”; }

if(!($i%5)){
echo“
”; }
foreach($videoEntries作为$data){
$i++;
?>

试试这个:假设数组索引没有设置为奇怪的值

foreach ($videoEntries as $index=>$data) {
  if ($index % 5 == 0) {
    echo "<BR>";
  }
}
foreach($videoEntries作为$index=>$data){
如果($index%5==0){
回声“
”; } }
只需完成示例

无论何时需要循环的索引,都可以使用
for
循环(假设它是一个数组)。
foreach
循环是为了方便而发明的,而您不需要索引

for ($index = 0; $index < count(videoEntries); $index++)
{
  $data = $videoEntries[$index];
  ...
  if(($index % 5) == 0)
  {
    echo "<br clear = 'all'>";    
  }
}
for($index=0;$index”;
}
}

除了5的倍数外,其他都包括在内。@MichaelRushton是的,你在我发布我的edit@ChurkThanx分享你与meThanx的经验分享你与meThanx的经验分享你与Meery的经验程序员应该学会做$i%5,这太他妈的简单和有用了这里提出的建议会造成不必要的需要将$i保持在0.5范围内。这是自找麻烦。@tei-so is++$i==5,这不是火箭科学…维护代码库的人应该注意这一点。太多。移动。部件。无论如何,我不想强调我的观点。我只是在这里添加我的观点。谢谢你与m分享你的经验E
foreach($videoEntries as $data){
    $i++;
    ?>

<?php 
    if(($i % 5) == 0){
        echo "<br clear = 'all'>";  
    }
}
?>
foreach ($videoEntries as $index=>$data) {
  if ($index % 5 == 0) {
    echo "<BR>";
  }
}
for ($index = 0; $index < count(videoEntries); $index++)
{
  $data = $videoEntries[$index];
  ...
  if(($index % 5) == 0)
  {
    echo "<br clear = 'all'>";    
  }
}