ホームページ >バックエンド開発 >PHPチュートリアル >PHPの複数ループメソッドから抜け出す方法を詳しく解説

PHPの複数ループメソッドから抜け出す方法を詳しく解説

伊谢尔伦
伊谢尔伦オリジナル
2017-06-24 09:17:341951ブラウズ

(1) Break

break は、上記のさまざまなループや switch ステートメントで使用されます。その機能は、現在の文法構造から飛び出して、次のステートメントを実行することです。 Break ステートメントは、ループから抜け出すレベルの数を示すパラメーター n を取ることができます。複数のループから抜け出す場合は、抜け出すレベルの数を示すために n を使用できます。パラメータを指定すると、デフォルトでは現在のループから抜け出します。

次の複数のループのネストの例を見てください:

for($i=1;$i<=10;$i++){    
        for($j=1;$j<=10;$j++){    
            $m=$i * $i + $j * $j;    
            echo $m,"<br/>";    
            if($m<90||$m>190) {    
                break 2;    
            }    
        }    
    }

ここでは、break 2 を使用して 2 つのループから飛び出すことができます。試して 2 を削除すると、結果はまったく異なります。パラメーターが使用されない場合、このループのみが飛び出し、最初のレベルのループが実行を継続します。

(2) continue

continue は、このループの continue ステートメントの後のコードを破棄して次のループに移動するようにプログラムを制御するためにループ構造で使用されます。 continue自体はループ構造から飛び出すわけではなく、今回はループを放棄するだけです。 continue を非ループ構造 (if 文、switch 文など) で使用すると、プログラムがエラーになります。

たとえば、次の PHP コード フラグメントでは:

for($i=1;$i<=100;$i++){    
        if($i%3==0||$i%7==0){    
            continue;    
        }else{    
            echo $i,"<br/>";    
        }    
    }

(3) return

return ステートメントは、コードの一部を終了し、パラメーターを返すために使用されます。関数から呼び出すことも、include() ステートメントまたは require() ステートメントに含まれるファイルから呼び出すこともできます。また、関数から呼び出された場合、プログラムはすぐに終了し、 include() または require() ステートメントに含まれるファイルから呼び出された場合、プログラムの実行は直ちにそのファイルを呼び出したプログラムに戻り、戻り値が include() の戻り値として使用されます。またはrequire()。そして、それがメインプログラムで呼び出された場合、メインプログラムはすぐに実行を停止します。

以下は、return を使用してループを終了する場合です:

for($i=1000;$i>=1;$i–){    
        if(sqrt($i)>=29){    
            echo $i,"<br/>";    
        }else{    
            return;    
        }    
    }    
echo "本行将不会被输出";

この例は、exit を使用した場合と同じ効果があります。

ループの最後で自然に飛び出します。これは、ループがループの臨界条件を満たすと、自動的に終了することを理解するのに最適です。

(4) exit

exit はプログラムの実行を終了するために使用されます。どこでも使えるし、ループから飛び出す意味もない。 exit は 1 つのパラメータを取ることができます。パラメータが string の場合、PHP はその文字列を直接出力します。パラメータが integerinteger (範囲は 0 ~ 254) の場合、そのパラメータが終了ステータスとして使用されます。

以下は、exit を使用してループを終了する場合です:

for($i=1000;$i>=1;$i–){    
        if(sqrt($i)>=29){    
            echo $i,"<br/>";    
        }else{    
            exit;    
        }    
    }    
echo "本行将不会被输出";

上記の例では、コードの実行はループ内で直接終了します。そのため、ループ内にある場合、次のコードは実行されません。 php web page では、終了後の html コードも出力されません。

(5)die

die関数のループからの抜け方はexitと同じなのでここでは詳しく説明しません。

(6) goto

goto は実際には単なる 演算子 です。他の言語と同様、goto の乱用はプログラムの可読性の大幅な低下につながります。 goto の機能は、プログラムの実行を現在位置から別の位置にジャンプすることです。goto 自体にはループを終了する機能はありませんが、そのジャンプ位置によりループからのジャンプとして使用できます。ただし、PHP5.3以降ではgotoのサポートが終了しているため、gotoの使用は避けるようにしてください。

以下は、ループを抜け出すために goto を使用する例です:

for($i=1000;$i>=1;$i–){    
        if(sqrt($i)<=29){    
            goto a;    
        }    
        echo $i;    
    }    
a:    
echo " this is the end";

この例は、ループを抜け出すために goto を使用します。この例は、平方根が 29 より大きい 1000 以内の数値を検出するために使用されます。

上記は、PHP でループから抜け出すためのいくつかの方法の簡単な要約です。

以上がPHPの複数ループメソッドから抜け出す方法を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。