2016-05-06 5 views
1

私は、forループでcontinueを使って次の繰り返しをスキップできることを知っています。とにかく次のxループ(2つ以上)をスキップするには?PHP 2つ以上の繰り返しをスキップすることはできますか?

+1

参考として、次の繰り返しをスキップせずに現在のものを終了します。 –

+0

余分な整数を定義して、スキップしたいループの量に設定し、 'if(y <0){continue; } '物事のタイプ –

+2

あなたは続行を試みることができます。 i + = 10である。より多くの繰り返しをスキップするには? –

答えて

4

として好きなあなたは、実際に、あなたは次のように汚いトリックを行うことができますすることはできません

for ($i=0; $i<99; $i++){ 
    if(someCondition) { 
     $i = $i + N; // This will sum N+1 because of the $i++ in the for iterator (that fire when the new loop starts) 
     continue; 
    } 
} 
1

forループで反復している場合(foreachループではなく)あなたはこのような何か行うことができます:

for ($i=0; $i<$numLoops; $i++) { 
    if(condition()) { 
     $i+= $numLoopsToSkip; 
     continue; 
    } 
} 
+0

* i *に1つを少なくする必要があります。 0を追加すると、現在の反復が中断されます。 – trincot

1

は、例えばテイクを、あなたはループにしたい倍の量を定義することができますあなたは$y

<?php 
y = 5; 

while (true) { 
    // do something 
    if (y > 0) { 
     y--; 
     continue; 
    } 
    // do something else 
} 
?> 
+1

私はこれが醜いループを生成すると思います、 '' '' 'は決して減少しないので、常に0> –

+0

@GummaMocciaro Shh ...あなたは何も見ませんでした...私はまだコーヒーを持っていません。 .. –

+0

が発生する:P –

0

PHP 'X'に近日リリース予定です。

continue += x; 
+0

これは良いアイデア(参考:Edsger W. Dijkstra)でもあれば、これは簡単だろう。 –