停止并继续foreach循环

时间:2014-03-25 14:21:04

标签: php foreach

我有一个HTML块的页面,他们都是一样的。因此,我使用foreach循环复制内容(最多6次)。但是,在页面中间,我需要打破循环,做其他事情,然后继续。它看起来像这样:

BLOCK 1
BLOCK 2
BLOCK 3

(jump out of loop)

BLOCK 4
BLOCK 5

我尝试过使用if statement

if on `BLOCK 3`: 
insert some content afterwards

但理想情况下,我想停止它,然后启动它(因为插入的内容没有任何关联)。

理论上我可以用两个foreach循环(每边一个)来做到这一点,但在我看来,似乎没必要。

有没有办法完全跳出循环,然后返回(一旦编写了一些HTML,或执行了一个函数)?

我是新手所以任何帮助或建议都会很棒。

2 个答案:

答案 0 :(得分:1)

那么那就完全了:

for (;;) {
    if (needsSpecialThreatment) {
        doSmthSpecial;
        continue;
    }
    doUsualStuff;
}

继续是循环的PHP关键字,而不是伪代码)

答案 1 :(得分:0)

你正在过度思考这个问题。这样的事情应该做你需要的:

<?php
    $temp = 0;
    foreach($blocks_of_HTML as $block_of_HTML){
        $temp += 1
        if($temp = 3){
            doSomethingElse();
        }

        //Code to write HTML Block
    }
?>

如果您需要做的只是执行其他操作,只需跟踪计数器变量并执行函数以执行您需要执行的任何操作,然后允许循环按预期继续。