如何停止循环

时间:2013-09-11 18:36:54

标签: php cakephp loops

我的博客主页的工作原理是循环浏览所有不同的博客类别并显示它们

唯一的问题是我不希望某些博客分类显示

如何以特定数字结束循环?

这是代码:

提前致谢!

<?php  $category=$news_article_category->listCategory(); 
       foreach($category as $ids=>$name){ ?>
        <?php if($ids==1)
        {?>
         <h3 class="open"><?php echo h($name); ?></h3>
        <?php }else{ ?>
        <h3><?php echo h($name); ?></h3>
        <?php }?>     
       <div>    
         <?php  $articles = $news_article->listlatestArticleByCat($ids);

       ?>
            <?php foreach($articles as $id => $title);
            $newVariable = str_replace(" ", "_", $title);  ?>
                <h2><a style="text-decoration:none; color:#333;" href="view_article.php?id=<?php  echo h($newVariable); ?>"><?php echo h($title); ?></a></h2>
             <p><?php $article = $news_article->getFromId($id);?>
             <?php $string = strip_tags($article['NewsArticle']['content'], '<p><br><strong><em><span><a>');
            $stringy=substr($string,0,350);
             /*pos varaiable defines the position of last occurance of Space in the string of 300 characters*/
             $pos=strripos($stringy," ");?>
           <?php /*Substring the string eliminating the last incomplete words*/ 
           echo substr($stringy,0,$pos); ?>
            <?php if($name=='Wills and Probate'){?>
             <a href="WillsProbate.php"> <img src="image/more_arrow.png" alt="" border="none"></a>
            <?php }elseif($name=='Landlord and Tenant') {?>
            <a href="LandlordTenant.php"> <img src="image/more_arrow.png" alt="" border="none"></a>
            <?php }elseif($name=='Divorce and Family') {?>
            <a href="DivorceFamily.php"> <img src="image/more_arrow.png" alt="" border="none"></a>
            <?php }elseif($name=='Commercial Property') {?>
            <a href="CommercialProperty.php"> <img src="image/more_arrow.png" alt="" border="none"></a>
            <?php }elseif($name=='Lease Extensions') {?>
            <a href="LeaseExtension.php"> <img src="image/more_arrow.png" alt="" border="none"></a>
            <?php }elseif($name=='Conveyancing') {?>
            <a href="conveyancing.php"> <img src="image/more_arrow.png" alt="" border="none"></a>

            <?php } ?>
           </p>

3 个答案:

答案 0 :(得分:1)

您可以使用breakcontinue来控制循环内的循环:

$i = 0;
while ($i++) {
   if ($i == 5) {
       continue;
   }
   if ($i == 10) {
      break;
   }
   echo $i;
}

这将输出12346789

答案 1 :(得分:1)

您可以使用“中断”退出任何循环。

PHP break documentation

另外,当它包含在html中时,尝试使用更易读的php。

例如:

<?php if($ids==1): ?>
    <h3 class="open"><?=h($name) ?></h3>
<?php else: ?>
    <h3><?=h($name) ?></h3>
<?php endif; ?>

答案 2 :(得分:0)

您可以使用中断停止循环。如果你有多个嵌套的fors,你可以使用像 go-to 这样的东西,当一个内部的东西发生时,你总是可以去 break 获取初始的。 / p>

最后,您可以使用退出,这样就可以停止整个页面的执行。