как ограничить этот цикл. Просто ваши петли. спасибо за помощь.
<?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; ?>
сначала подготовьте свои данные
$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 ?>
Нарежьте массив.
foreach(array_slice($section['Article'], 0, 3) as $article ):
Это поможет, если ваш массив численно проиндексирован
foreach($section['Article'] as $i => $article ): if ($i > 3) break;
В противном случае – вручную увеличивайте счетчик:
$i = 0; foreach($section['Article'] as $article ): if ($i++ > 3) break;
Было бы проще использовать цикл for () для этого, но для ответа на вопрос:
<? $i = 0; foreach ($section['Article'] AS $article): if ($i == 3) { break; } ?> ... <? $i++; endforeach ?>
Удивительный должен попробовать этот
<?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 } } ?>
Цикл 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 раза.