如何限制这个循环..只是你循环..谢谢你的帮助
<?php
foreach($section['Article'] as $article) :
?>
<tr>
<td>
<?php
if ($article['status'] == 1) {
echo $article['title'];
}
?>
</td>
<td>
<?php
if($article['status']== 1) {
echo ' '.$html->link('View', '/articles/view/'.$article['id']);
}
?>
</td>
</tr>
<?php
endforeach;
?>
答案 0 :(得分:78)
切割数组。
foreach(array_slice($section['Article'], 0, 3) as $article ):
答案 1 :(得分:26)
首先,准备你的数据
$i = 1;
$data = array();
foreach($section['Article'] as $article ) {
if($article['status']== 1) {
$article['link'] = $html->link('View', '/articles/view/'.$article['id']);
$data[] = $article;
if ($i++ == 3) break;
}
}
$section['Article'] = $data;
然后显示它
<?php foreach($section['Article'] as $article ): ?>
<tr>
<td><?php echo $article['title'] ?></td>
<td> <?php echo $article['link']?></td>
</tr>
<?php endforeach ?>
答案 2 :(得分:9)
使用for()循环来执行此操作会更容易,但要回答这个问题:
<?
$i = 0;
foreach ($section['Article'] AS $article):
if ($i == 3) { break; }
?>
...
<?
$i++;
endforeach
?>
答案 3 :(得分:8)
如果您的数组以数字方式编入索引,这将有所帮助
foreach($section['Article'] as $i => $article ):
if ($i > 3) break;
否则 - 手动递增计数器:
$i = 0;
foreach($section['Article'] as $article ):
if ($i++ > 3) break;
答案 4 :(得分:-2)
很棒的人必须尝试这个
target/universal/
答案 5 :(得分:-4)
如果你需要限制它,foreach循环将不是最好的。尝试使用for循环。
<?php
for(i=1; i<=3; i++)
{
$article = $section['Article'];
?>
<tr>
<td><?php if($article['status']== 1){echo $article['title'];} ?></td>
<td><?php if($article['status']== 1){echo ' '.$html->link('View', '/articles/view/'.$article['id']);}?></td>
</tr>
<?php } ?>
此代码将使文本循环3次。