如何在foreach循环中每5次迭代后定义html标签
Posted
技术标签:
【中文标题】如何在foreach循环中每5次迭代后定义html标签【英文标题】:how to define html tag after each 5 iteration in foreach loop 【发布时间】:2012-04-17 01:20:27 【问题描述】:我只想知道如何在 foreach 循环中的每 5 次迭代后定义 html 标记 <br clear="all">
这是我的代码
<?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;?>" />
</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'>";
?>
结果需要或帮助肯定是appricicated
12345
<br clear="all">
678910
<br clear="all">
【问题讨论】:
【参考方案1】:试试这个:
<?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;?>" />
</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;
?>
【讨论】:
感谢您与我分享您的经验 每个程序员都应该学会做$i % 5,这太他妈简单实用了。执行此处建议的操作会产生将 $i 保持在 0 5 范围内的不必要的需要。那是自找麻烦。 @tei - ++$i==5 也是如此,这不是火箭科学……维护代码库的人应该注意这一点。 也是。许多。移动。部分。无论如何,我不想强调我的观点。我只是在这里添加我的意见。【参考方案2】:你可以改变:
if($i == 5)
echo "<br clear = 'all'>";
到
if(!($i % 5))
echo "<br clear = 'all'>";
【讨论】:
感谢您与我分享您的经验【参考方案3】:试试这个:假设你的数组索引没有设置为奇怪的东西。
foreach ($videoEntries as $index=>$data)
if ($index % 5 == 0)
echo "<BR>";
【讨论】:
除了 5 的倍数之外,所有的都包括它。 @MichaelRushton 是的,在我发布我的编辑之前你抓住了我 @Churk 感谢与我分享您的经验【参考方案4】:foreach($videoEntries as $data)
$i++;
?>
<?php
if(($i % 5) == 0)
echo "<br clear = 'all'>";
?>
【讨论】:
感谢您与我分享您的经验【参考方案5】:只是为了完成示例...
当您需要循环的索引时,您可以改用for
循环(假设它是一个数组)。 foreach
循环是为了方便而发明的,当您不需要索引时。
for ($index = 0; $index < count(videoEntries); $index++)
$data = $videoEntries[$index];
...
if(($index % 5) == 0)
echo "<br clear = 'all'>";
【讨论】:
以上是关于如何在foreach循环中每5次迭代后定义html标签的主要内容,如果未能解决你的问题,请参考以下文章