PHP で Foreach ループから抜け出す

Olorunfemi Akinlua 2024年2月15日
  1. PHP の foreach ループ
  2. PHP の break ステートメントを使用して foreach ループから抜け出する
PHP で Foreach ループから抜け出す

開発者は、break ステートメントを使用してループから抜け出し、ループに続く次のステートメントから再開します。多くの場合、そのようなことが起こるための条件を設定する必要がありますが、それは重要ではありません。

多くの場合、for ループ、while ループ、switch ステートメント、さらには foreach ループで中断が発生します。したがって、特に反復回数が不明な場合に、何らかの条件に基づいてループを終了するには、break を使用します。

この記事では、foreach ループ内に break ステートメントを組み込む方法、使用例、および忘れてはならないことについて検討します。

PHP の foreach ループ

break ステートメントの使用方法に入る前に、foreach ループについて簡単に復習しましょう。反復する回数が事前にわかっている for ループとは異なり、foreach ループは反復して配列ポインターを介して配列を調べ、各配列要素を配列変数に割り当てます。

配列内の数値、値、または文字列を探しているが、要素が配列内のどこにあるかわからず、別の操作に必要であるとします。必要な数、値、または文字列が見つかったら、break ステートメントを使用してループを終了できます。

コード例:

<?php
$colors = array("red", "green", "blue", "yellow");

foreach ($colors as $value) {
    echo "$value <br>";
}
?>

出力:

red <br>green <br>blue <br>yellow <br>

PHP の break ステートメントを使用して foreach ループから抜け出する

次の画像は、foreach ループ内で break ステートメントがどのように機能するかを示しています。foreach ループは各配列要素を繰り返し処理し、ループ宣言内で宣言された変数に割り当てます。

foreach ループフローチャート

すべての反復内で、ループコードブロックは、アレイポインタが指す現在の要素を使用し、break 操作を実行する条件をテストします。条件が true の場合、コードはループから抜け出し、false の場合、次の反復に進みます。

ここで、break ステートメントがどのように機能するかを理解して、簡単な foreach の例を考えてみましょう。

<?php
foreach (array('1','2','3') as $first) {
    echo "$first ";
    foreach (array('3','2','1') as $second) {
        echo "$second ";
        if ($first == $second) {
            break;  // this will break both foreach loops
        }
    }
    echo ". ";  // never reached!
}
echo "Loop Ended";
?>

出力:

1 3 2 1 . 2 3 2 . 3 3 . Loop Ended

上記のコードのすべての要素をループし、現在の要素を使用して foreach ループ内のブロックコードを実行します。

連想配列など、あらゆるタイプの配列の foreach ループで break ステートメントを使用できます。ここで、$x が中央の配列要素に到達すると、foreach ループを停止します。

<?php
$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");

foreach($age as $x => $val) {
    echo "$x = $val<br>";
    if ($x == "Ben") {
        break;
    }
}
?>

出力:

Peter = 35<br>Ben = 37<br>

条件付きは、break 操作を成功させるために役立つことを忘れないでください。

Olorunfemi Akinlua avatar Olorunfemi Akinlua avatar

Olorunfemi is a lover of technology and computers. In addition, I write technology and coding content for developers and hobbyists. When not working, I learn to design, among other things.

LinkedIn

関連記事 - PHP Loop