次のループがあり、内側のループ内のチェックが条件を満たしたときにwhileループをcontinue
したいと思います。私は解決策を見つけました ここ (これは次の例で適用されます)、しかしそれはc#
のためのものです。
$continue = false;
while($something) {
foreach($array as $value) {
if($ok) {
$continue = true;
break;
// continue the while loop
}
foreach($value as $val) {
if($ok) {
$continue = true;
break 2;
// continue the while loop
}
}
}
if($continue == true) {
continue;
}
}
PHPは、内部ループがcontinue
-されたときに、メインループをbreak
する方法を独自に構築していますか?
この質問へのコメント(作成者によって削除されました)を読んで少し調べたところ、continue
と同じようにbreak
のパラメーターもあることがわかりました。 。次のようにcontinue
に番号を追加できます。
while($something) {
foreach($array as $value) {
if($ok) {
continue 2;
// continue the while loop
}
foreach($value as $val) {
if($ok) {
continue 3;
// continue the while loop
}
}
}
}
完全な内部foreachを処理するまで、continue
を実行していないので、関係ないと思います。 continue
をその場で実行し、ループが終了するまで待たないようにする必要があります。
コードをこれに変更します
while($something) {
foreach($array as $value) {
if($ok) {
continue; // start next foreach($array as $value)
}
foreach($value as $val) {
if($ok) {
break 2; // terminate this loop and start next foreach($array as $value)
}
}
}
}
RE:あなたのコメント
while($something) {
if($somevalue) {
// stop this iteration
// and start again at iteration + 1
continue;
}
}