PHP で複数のループを抜け出すための Break、Continue、Goto、Return、Exit の使用法と違い

WBOY
リリース: 2016-06-20 13:03:58
オリジナル
1502 人が閲覧しました

PHP のループ構造には、通常、for ループ、while ループ、do{} ループ、foreach ループが含まれます。ループの種類に関係なく、PHP のループから抜け出すには、基本的に、break、 continue、などのいくつかの方法があります。 return、exit、die、gotoなど。

以下ではそれぞれの使い方と違いを一つずつ紹介していきます。

(1) Break

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

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

<p>for($i=1;$i<=10;$i++){</p>	for($j=1;$j<=10;$j++){<br />		$m=$i * $i + $j * $j;<br />		echo $m,"<br/>";<br />		if($m<90||$m>190) {<br />			break 2;<br />		}<br />	}<br /><p>}</p>
ログイン後にコピー

ここでは、二重ループからジャンプするためにブレーク 2 が使用されています。簡単なテストを行って 2 を削除すると、結果はまったく異なります。パラメーターが使用されない場合、このループのみが飛び出し、最初のレベルのループが実行を継続します。

(2) continue

continue はループ構造内で使用され、このループの continue ステートメントの後のコードを破棄して次のループに移動するようにプログラムを制御します。

continue 自体はループ構造から飛び出すわけではなく、今回はループを放棄するだけです。 continue を非ループ構造 (if 文、switch 文など) で使用すると、プログラムがエラーになります。

たとえば、次の PHP コード スニペットでは:

<p>for($i=1;$i<=100;$i++){</p>	if($i%3==0||$i%7==0){<br />		continue;<br />	}else{<br />		echo $i,"<br/>";<br />	}<br /><p>}</p>
ログイン後にコピー

(3) return

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

メインプログラム内で呼び出された場合、メインプログラムは直ちに実行を停止します。

次に、return を使用してループを終了する例を示します。

<p>for($i=1000;$i>=1;$i–){</p>	if(sqrt($i)>=29){<br />		echo $i,"<br/>";<br />	}else{<br />		return;<br />	}<br />}<br /><p>echo "本行将不会被输出";</p>
ログイン後にコピー

この例は、exit を使用した場合と同じ効果があります。 。ループの終了条件では、ループが自動的に終了することを理解するのが最善です。

(4) exit

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

次に、exit を使用してループを終了する場合を示します。

<p>for($i=1000;$i>=1;$i–){</p>	if(sqrt($i)>=29){<br />		echo $i,"<br/>";<br />	}else{<br />		exit;<br />	}<br />}<br /><p>echo "本行将不会被输出";</p>
ログイン後にコピー

上の例では、コードは直接次で終了します。ループを実行すると、次のコードが実行されなくなります。PHP Web ページ内にある場合、終了後の HTML コードも出力されません。

(5) die

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

(6) goto

goto は実際には単なる演算子です。他の言語と同様、goto の乱用は PHP の可読性を著しく低下させます。プログラム。 goto の機能は、プログラムの実行を現在位置から別の位置にジャンプすることです。goto 自体にはループを終了する機能はありませんが、そのジャンプ位置によりループから抜け出す方法として使用できます。ループ。

ただし、PHP5.3 以降では goto のサポートが終了しているため、goto の使用は避けるようにしてください。

次に、goto を使用してループから抜け出す例を示します。

<p>for($i=1000;$i>=1;$i–){</p>	if(sqrt($i)<=29){<br />		goto a;<br />	}<br />	echo $i;<br />}<br />a:<br /><p>echo " this is the end";</p>
ログイン後にコピー

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

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


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート