web-dev-qa-db-ja.com

現在の反復をスキップ

PHP配列$numbers = array(1,2,3,4,5,6,7,8,9)があります

foreach foreach($numbers as $number)を使用してループする場合

ifステートメントif($number == 4)があります

その行の後は何をスキップし、5でループを開始するコード行はその後になりますか?ブレーク、リターン、終了?

43
Hailwood

continue ステートメントを探しています。また、ループを完全に終了する break も役立ちます。両方のステートメントは、ループのすべてのバリエーションで機能します。 forforeach、およびwhile

$numbers = array( 1, 2, 3, 4, 5, 6, 7, 8, 9 );
foreach( $numbers as $number ) {
    if ( $number == 4 ) { continue; }
    // ... snip
}
89
continue;

Continueは、現在の反復ブロックをスキップするように指示しますが、ループの残りを続行します。すべてのシーンで動作します(for、whileなど)

17
Brad Christie

ブレーク;ループを停止し、コンパイラーをループの外側に置きます。続けながら;現在のものをスキップして、次のサイクルに進みます。のような:

$i = 0;
while ($i++)
{
    if ($i == 3)
    {
        continue;
    }
    if ($i == 5)
    {
        break;
    }
    echo $i . "\n";
}

出力:

1
2
4
6 <- this won't happen
5
Jaymin

Continueステートメントを探していると思います。 http://php.net/manual/en/control-structures.continue.php をご覧ください

食堂

2
dinel