Как определить HTML-тег после каждой 5 итерации в цикле foreach - PullRequest
7 голосов
/ 03 апреля 2012

Я просто хочу знать, как определить тег HTML <br clear="all"> после каждых 5 итераций в цикле foreach вот мой код

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

Требуется результат или помощь определенно оценена

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

Ответы [ 5 ]

5 голосов
/ 03 апреля 2012

Попробуйте это:

<?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;
    }
}
?>
4 голосов
/ 03 апреля 2012

Вы можете изменить:

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

до

if(!($i % 5)){
    echo "<br clear = 'all'>";    
}
1 голос
/ 03 апреля 2012

попробуйте это: если ваш индекс массива не установлен на что-то странное.

foreach ($videoEntries as $index=>$data) {
  if ($index % 5 == 0) {
    echo "<BR>";
  }
}
0 голосов
/ 03 апреля 2012

Просто для завершения примеров ...

Всякий раз, когда вам нужен индекс цикла, вы можете вместо этого использовать цикл for (при условии, что это массив).Цикл foreach был изобретен для удобства, когда вам не нужен индекс.

for ($index = 0; $index < count(videoEntries); $index++)
{
  $data = $videoEntries[$index];
  ...
  if(($index % 5) == 0)
  {
    echo "<br clear = 'all'>";    
  }
}
0 голосов
/ 03 апреля 2012
foreach($videoEntries as $data){
    $i++;
    ?>

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