ホームページ >php教程 >php手册 >PHP でのループ ステートメントの使用法のいくつかの便利なバリエーション

PHP でのループ ステートメントの使用法のいくつかの便利なバリエーション

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-06-21 08:52:11804ブラウズ

for ステートメントは、PHP (および多くの言語) のループ制御部分で最も基本的なステートメントであると言えます。for ステートメントの実行規則と基本的な使用法については、ここでは説明しません。for ステートメントのセクションを参照してください。 PHPマニュアルの。その構文は PHP マニュアルで次のように定義されています:

for (expr1; expr2; expr3)

ステートメント

for ステートメントの便利なバリエーションをいくつか紹介します。

1. 無限ループ

1 つ目は、よく知られている無限ループ (「無限ループ」とも呼ばれます) です。空の式 null は構文的に有効であるため、for ステートメントの 3 つの式を空のままにすることができます。これにより、ネストされた for ステートメントが継続的に実行されます。

for (;;) {

//継続的に実行する必要があるステートメントを配置します

}

?>

無限ループを使用するタスクもいくつかありますが、ほとんどのプログラム タスク、特に PHP に関連するタスクでは、無限ループを使用するときにループを終了するための条件が追加されます。

for (;;) {

//西暦 2199 年の場合、ループから抜け出す

if (date('Y') == '2199') {

休憩;

}

}

?>

2. 空の式を使用します

次に、初期化ステートメント expr1 での null 構文の使用について説明します。 expr1 を空白のままにする最も一般的な機能は、より複雑な初期化作業を完了することです。

if (isset($i)) {

unset($i);

if ((int) date('') < 2008) {

$i = 0;

} else {

$i = 1;

}

} else {

$i =3;

}

for (;$i

echo $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

4. より複雑な式

for ステートメントの 3 つの式がより複雑に記述されている場合、それらを使用してアルゴリズムを最適化できます。ループ本体のない for ステートメントを使用して、一部のタスクを完了することもできます。たとえば、累積または階乗を計算する場合:

// 1 ~ 5 の累積結果を計算し、その値は $j

for ($i = 1,$j = 0; $i

echo $j;

// 1 ~ 5 の階乗結果を計算し、ビン値を $j

for ($i = 1,$j = 1; $i

echo $j;

?>

PHP は C 言語の構文を使用しており、強力な for ループ文などはある程度 C の特徴も備えています。



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