使用PHP foreach循环中的条件

时间:2012-08-30 22:39:59

标签: php html

我正在使用这样的php foreach语句:

<?php foreach($files as $f): ?>

很多HTML

<?php endforeach; ?>

如何在循环中放置一个条件,以便它可以跳到下一次迭代。我知道我应该继续使用,但我不知道怎么用这样的封闭式php语句来做。它会是一个单独的php声明吗?它可以放在HTML的中间位置,以便循环中的一些但不是所有的东西都被执行了吗?

2 个答案:

答案 0 :(得分:3)

是的,您可以在任何地方插入条件和continue

<?php foreach($files as $f): ?>

lots of HTML

<?php if (condition) continue; ?>

more HTML

<?php endforeach; ?>

See it in action

答案 1 :(得分:0)

我有一个非常类似的问题,所有的搜索都把我带到了这里。希望有人发现我的帖子很有用。从我自己的代码: 对于PHP 5.3.0,这有效:

foreach ($aMainArr as $aCurrentEntry) {
    $nextElm = current($aMainArr); //the 'current' element is already one element ahead of the already fetched but this happens just one time!
    if ($nextElm) {
        $nextRef = $nextElm['the_appropriate_key'];
        next($aMainArr); //then you MUST continue using next, otherwise you stick!
    } else { //caters for the last element
    further code here...
    }
//further code here which processes $aMainArr one entry at a time...
}

对于PHP 7.0.19,以下工作:

reset($aMainArr);
foreach ($aMainArr as $aCurrentEntry) {
    $nextElm = next($aMainArr);
    if ($nextElm) {
        $nextRef = $nextElm['the_appropriate_key'];
    } else { //caters for the last element
    further code here...
    }
//further code here which processes $aMainArr one entry at a time...
}