how to define html tag after each 5 iteration in f

2019-04-06 23:28发布

问题:

I just want to know how to define HTML Tag <br clear="all"> after each 5 iteration in foreach loop here is my code

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

Result Required or helps are definitely appricicated

12345
<br clear="all">
678910
<br clear="all">

回答1:

Try this:

<?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;
    }
}
?>


回答2:

You can change:

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

to

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


回答3:

try this: Assuming your array index is not set to something strange.

foreach ($videoEntries as $index=>$data) {
  if ($index % 5 == 0) {
    echo "<BR>";
  }
}


回答4:

foreach($videoEntries as $data){
    $i++;
    ?>

<?php 
    if(($i % 5) == 0){
        echo "<br clear = 'all'>";  
    }
}
?>


回答5:

Just to complete the examples...

Whenever you need the index of the loop, you can use the for loop instead (assuming it's an array). The foreach loop was invented for convenience, when you don't need the index.

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