PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPでネストした外側のループから抜け出す方法

PHPでは、break文に数値を指定することで、複数階層のループを一度に抜け出すことができます。たとえば、2重にネストされたループから、内側だけでなく外側のループもまとめて終了させたい場合は、次のように記述します。

break 2;

break 1;は現在の(内側の)ループのみを終了し、break 2;はさらに一つ外側のループまで同時に終了させるという意味になります。

foreachループでの使用例

以下は、foreachループを使った具体的なデモです。

foreach (...) {
    foreach (...) {
        if (my_var_1.name == my_var_2) {
            break 2; // 一番外側のforeachループを抜け出す
        }
    }
}

PHP 5.3以降で使えるgoto文による方法

PHPバージョン5.3以降では、goto文を使って任意のラベル位置へ処理をジャンプさせる方法もあります。条件が満たされた時点で、ループ全体の外にあるラベルへ移動することで、実質的にすべてのループを抜け出せます。

foreach (...) {
    foreach (...) {
        if (my_var_1.name == my_var_2) {
            goto top; // topラベルの位置へジャンプ
        }
    }
}
top:

break 2;のほうが意図が明確で可読性が高いため、通常はこちらを優先的に使うのがおすすめです。goto文は柔軟な反面、乱用するとコードの流れが追いにくくなるため、必要な場面に限定して使用しましょう。

  1. Tkinterでストップボタンを使ってループ処理を停止する方法

    Tkinterでボタン操作によりループを停止するには?ループ内で処理を継続的に実行し、ボタンがクリックされたタイミングでそのループを停止したいケースはよくあります。一般的なプログラミング言語では、連続的なwhileループを中断するためにbreak文を使用します。しかし、Tkinterではwhileループの代わりにafter()メソッドを使って、指定した関数を一定間隔で繰り返し実行するのが基本です。この継続的なループを中断するには、グローバルなブール型(Boolean)変数を用意し、その値を更新することでループの実行状態を切り替えます。実装のポイントループにおけるフラグのような役割を果たすグロー

  2. Pythonでforループを途中で抜ける方法(break文の使い方)

    forループを途中で終了させるには「break」を使う Pythonのforループは、通常、範囲(range)やリストなどの各要素に対して同じ処理を繰り返すために使われます。しかし、すべての繰り返しが完了する前にループを強制的に終了させたいケースもあります。そのようなときに使用するのがbreakキーワードです。 breakは、ループ本体の中でif文などの条件分岐と組み合わせて使うのが一般的です。条件が満たされた時点で、その場で即座にループから抜け出します。 breakの基本的な使い方 for x in range(20): print(x) if x == 10: