【break/continue】PHPで繰返処理を中断する方法【現役SE解説】

PROGRAM

今回は、PHPで繰返処理を中断する方法について、break文でループを抜ける場合とcontinue文で先頭に戻る場合に分け、簡単に解説していきます。

ループを抜ける場合

繰返処理を中断したうえでループを抜ける場合、break文を使います。

break文はfor文やforeach文、while文の中で使われ、繰返処理を中断後、ループの下から処理が再開されます。

for($i=0;$i<3;$i++){
    break; // breakで繰返処理を中断し、ループを完全に抜ける
}

上記のコードでは、for文の中でbreak文を使っており、この場合、0回目の処理ですぐに処理が中断され、ループを抜けます。

先頭に戻る場合

一方で、あるカウントのときだけ繰返処理を中断して、引き続きループを続けたい場合もあると思います。

そのような場合には、continue文を使うことで、for文やforeach文、while文の繰返処理をその場だけ中断することができます。

for($i=0;$i<3;$i++){
    continue; // continueで繰返処理を中断し、次のカウントで先頭に戻る
}

上記のコードでは、for文の中でcontinue文を使っており、この場合、毎回の処理ですぐに処理が中断され、$iが3を下回る間は処理が繰り返されます。

実際の使い方

break文やcontinue文は、単独で使われることはほぼありません。

実際には、if文やswitch文といった分岐処理と一緒に使われるケースが多いです。

for($i=0;$i<3;$i++){
    // 0回目のみ処理をスルー
    if ($i == 0) {
        continue;
    } else {
        // 処理を書く
    }
}

上記のコードでは、for文の繰返処理で0回目のみ、処理をスルーし、その他の回数では処理を行うループとなっています。