Как ограничить цикл foreach тремя контурами

как ограничить этот цикл. Просто ваши петли.. помогите

<?php
    foreach($section['Article'] as $article) :
?>
<tr>
    <td>
        <?php
            if ($article['status'] == 1) {
                echo $article['title'];
            } 
        ?>
    </td>
    <td>
        <?php
            if($article['status']== 1) {
                echo '&nbsp;'.$html->link('View', '/articles/view/'.$article['id']);
            }
        ?>
    </td>
</tr>
<?php 
    endforeach; 
?>

Ответ 1

сначала подготовьте свои данные

$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>&nbsp;<?php echo $article['link']?></td>
</tr>
<?php endforeach ?>

Ответ 2

Разрезать массив.

foreach(array_slice($section['Article'], 0, 3) as $article ):

Ответ 3

Это поможет, если ваш массив численно проиндексирован

foreach($section['Article'] as $i => $article ):

    if ($i > 3) break;

В противном случае - вручную увеличивайте счетчик:

$i = 0;
foreach($section['Article'] as $article ):

    if ($i++ > 3) break;

Ответ 4

Было бы проще использовать цикл for() для этого, но для ответа на вопрос:

<?
$i = 0;
foreach ($section['Article'] AS $article):
    if ($i == 3) { break; }
?>
...
<?
$i++;
endforeach
?>

Ответ 5

Удивительный должен попробовать этот

<?php $count = 0; $pages = get_pages('child_of=1119&sort_column=post_date&sort_order=desc');   foreach($pages as $page) {
$count++;
if ( $count < 50) {  // only process 10 ?>
 <div class="main_post_listing">  <a href="<?php echo get_page_link($page->ID) ?>"><?php echo $page->post_title ?></a><br /></div>
<?php
}  } ?> 

Ответ 6

Цикл 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 '&nbsp;'.$html->link('View', '/articles/view/'.$article['id']);}?></td>
                    </tr>
                    <?php } ?>

Этот код сделает цикл текста 3 раза.