ホームページ >バックエンド開発 >PHPチュートリアル >php for ループ ステートメントのいくつかの使用法の分析_PHP チュートリアル
for ループの構文は次のとおりです:
コードは次のとおりです コードをコピーしてください
for (expr1; expr2; expr3)
声明
for ステートメントのいくつかの便利なバリエーションについて話しましょう。
1. 無限ループ
この種のサイクルは無限ループとも呼ばれ、始まりも終わりもなくただこのように続きます
(;;) {
//継続的に実行する必要があるステートメントを配置します
}
?>
if elseを使用するか、無限ループで中断すると、ループから抜け出すこともできます
コードは次のとおりです コードをコピーしてください
(;;) {
//西暦 2199 年ならループから抜け出す http://www.hzhuti.com/nokia/n93/
if (日付('Y') == '2199') {
休憩;
}
}
?>
2. 空の式を使用する
次のステップは、初期化ステートメント expr1 での null 構文の使用について説明することです。expr1 を空白のままにする最も一般的な機能は、より複雑な初期化作業を完了することです。
コードは次のとおりです コードをコピーしてください
if (isset($i)) {
設定を解除($i);
if ((int) date('') < 2008) {
$i = 0;
} その他 {
$i = 1;
}
} その他 {
$i =3;
}
for (;$i
エコー $i;
}
?>
同様に、反復式 expr3 も空白のままにすることができ、これを使用して、異なる条件に応じて異なる反復を呼び出すなど、より複雑な反復を記述することもできます。
for ステートメント内の条件ステートメント expr2 を空白のままにすると、前述の無限ループになります。もちろん、ループから抜け出すタイミングを決定するために、より複雑な条件を追加することもできますが、ここでは繰り返しません。
3. 複数のサイクル
複数のループを使用して複数の変数を制御することも、for ステートメントで見落とされがちな機能です。以下の例のように、一般的なタスクでは 2 つのループが一般的に使用され、3 つ以上のループは通常あまり意味がありません。
for ($i = 0, $j = 10;$i
echo "$i + $j = 10rn";
}
?>
上記のコードは次のように出力されます:
0 + 10 = 10
1 + 9 = 10
2 + 8 = 10
3 + 7 = 10
4 + 6 = 10
5 + 5 = 10
6 + 4 = 10
7 + 3 = 10
8 + 2 = 10
9 + 1 = 10
10 + 0 = 10
ループを途中で抜け出したい場合はどうすればよいか、例
次の複数のループのネストの例を見てください:
for($i = 1;$i
for($j = 1;$j
$m = $i * $i + $j * $j;
echo”$m n
”;
if($m 190) {
休憩 2;
}
}
}
二重ループから 2 つのジャンプを解除します。試して 2 つ削除することもできます。結果はまったく異なります。パラメーターが使用されない場合、このループのみが飛び出し、最初のレベルのループが実行を継続します。
注:
Break は、上記のさまざまなループや switch ステートメントで使用されます。その機能は、現在の文法構造から飛び出し、次のステートメントを実行することです。 Break ステートメントは、ループから抜け出すレベルの数を表すパラメーター n を受け取ることができます。複数のループから抜け出す場合は、抜け出すレベルの数を表すために n を使用できます。パラメータがない場合、デフォルトでは現在のループから抜け出します。
4. より複雑な表現
for ステートメントの 3 つの式がより複雑に記述されている場合、それらを使用してアルゴリズムを最適化できます。ループ本体のない for ステートメントを使用して、一部のタスクを完了することもできます。たとえば、累積または階乗を計算する場合:
//1-5の累積結果を計算し、ビンの値を$j
に
for ($i = 1,$j = 0; $i
エコー $j;
//1-5の階乗結果を計算し、ビン値を$jに設定します
for ($i = 1,$j = 1; $i
エコー $j;
?>
ある場所まで実行したい場合は、現在のループを自動的に呼び出して実行します - 例
for($i = 1;$i
if($i % 3 == 0 || $i % 7 == 0){
続けます;
}
}その他{
echo”$i n
”;
}
}
?>
PHP コード スニペットの機能は、7 で割り切れず、3 で割り切れない 100 以内の自然数を出力することです。ループ内では、まず if 条件ステートメントを使用して割り切れる数値を決定し、次に、 continue; 次のサイクルに直接入るステートメント。次の出力ステートメントは実行されません。
注:
continue は、ループ構造で使用され、このループの continue ステートメントの後のコードを破棄して次のループに移動するようにプログラムを制御します。 continue自体はループ構造から飛び出すわけではなく、今回はループを放棄するだけです。 continue を非ループ構造 (if 文、switch 文など) で使用すると、プログラムがエラーになります。
PHP開発から抜粋