ホームページ  >  記事  >  バックエンド開発  >  PHPがループから抜け出すためのいくつかの方法と違い

PHPがループから抜け出すためのいくつかの方法と違い

伊谢尔伦
伊谢尔伦オリジナル
2017-06-23 13:06:051371ブラウズ

PHP のループ構造には、一般的に for ループwhile ループ、do{} while ループ、foreach ループが含まれます。これは、ループの種類に関係なく、 でループから抜け出す方法です。 PHP は大まかに次のようなものです。 いくつかの方法:

コード:

<?php
$i = 1;
while (true) { // 这里看上去这个循环会一直执行
    if ($i==2) {// 2跳过不显示
        $i++;
        continue;
    } else if ($i==5) {// 但到这里$i=5就跳出循循环了
        break;
    } else {
        echo $i . &#39;<br>&#39;;
    }
    $i++;
}
exit;
echo &#39;这里不输出&#39;;
?>

結果:
1
3
4
Continue
continue は、ループ構造で使用され、プログラムが終了後にコードを放棄するように制御します。このループの continue ステートメントを実行し、次のサイクルに進みます。 continue自体はループ構造から飛び出すわけではなく、今回はループを放棄するだけです。 continue をループ構造以外の構造 (if 文、switch 文など) で使用すると、プログラムが誤動作します。
たとえば、次の PHP コード フラグメントでは:

<?php
for($i = 1;$i <= 100; $i++ ){
if($i % 3 == 0 || $i % 7 == 0){
continue;
}
& #160;  else{
echo”$i \n<br/>”;
}
}
?>

PHP コード フラグメントの機能は、7 で割り切れず、3 で割り切れない 100 以内の自然数を出力することです。まず、次の PHP コード
フラグメントで if 条件を使用します。ループ このステートメントは割り切れる数値を決定し、Continue ステートメントを実行して次のループに直接入ります。次の出力ステートメントは実行されません。
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 \n<br/>”;
if($m < 90 || $m > 190) {
break 2;
}
}
}

ここでは、break 2 を使用して 2 つのループから飛び出すことができます。試して 2 を削除すると、結果はまったく異なります。パラメーターが使用されない場合、このループのみが飛び出し、最初のレベルのループが実行を継続します。
gotogoto は実際には単なる
演算子 です。他の言語と同様、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 以内の数値の平方根を検出するために使用されます。 。
exitexitはプログラムの実行を終了するために使用されます。どこでも使えるし、ループから飛び出す意味もない。 exit はパラメーターを受け取ることができます。パラメーターが

文字列

の場合、PHP はその文字列を直接出力します。そのパラメーターは終了ステータスとして使用されます。

<?php
for($i = 1000;$i >= 1 ; $i– ){
if( sqrt($i) >= 29){
echo”$i \n<br/>”;
}
else{
exit;
}
}
echo”本行将不会被输出”;
?>
上記の例では、コードの実行がループ内で直接終了するため、後続のコードは実行されません。PHP Web ページ内にある場合、終了後の HTML コードも実行されません。出力。
return

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

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

ここでの例は、上記の exit を使用した場合と同じ効果があります。
ループの終わりに、それは自然に飛び出します

これは、ループがループの臨界条件を満たしたときに、自動的に終了することを理解するのに最適です。 🎜上記は、PHP でループから抜け出すためのいくつかの方法の簡単な要約です。 🎜

以上がPHPがループから抜け出すためのいくつかの方法と違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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