ホームページ >php教程 >php手册 >PHP の for ループ ステートメントのいくつかのバリエーション

PHP の for ループ ステートメントのいくつかのバリエーション

WBOY
WBOYオリジナル
2016-06-13 12:36:101033ブラウズ

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

for (expr1; expr2; expr3)
statement


for ステートメントのいくつかの便利なバリエーションについて説明します。


1. 無限ループ

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

for (;;) {
//継続的に実行する必要があるステートメントを配置します
}
?>

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

for (;;) {
//西暦 2199 年の場合、ループから抜け出す
if (日付('Y') == ' 2199' ) {
Break;
}
}
?>


2. 使用します空の式 式

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

if (isset($i)) {
unset(<🎜) >
$i); if ((int)
date('' ) 2008) {
} else {
$i $i = 1
;
}
} else { $i =3

;
}
for (;$ i < i;
}

?> 同様に、反復式 expr3 を空白のままにすることもでき、これを利用して、以下に基づいて異なる反復を呼び出すなど、より複雑な反復を作成することもできます。さまざまな条件。 for ステートメント内の条件ステートメント expr2 を空白のままにすると、前述の無限ループになります。もちろん、ループから抜け出すタイミングを決定するために、より複雑な条件を追加することもできますが、ここでは繰り返しません。 。 3. 複数のループ 複数のループを使用して複数の変数を制御することも、for ステートメントで見落とされがちな機能です。以下の例のように、一般的なタスクでは 2 つのループが一般的に使用され、3 つ以上のループは通常あまり意味がありません。

for ($i = 0$j = 10;$i <= 10;$i , $j--) {
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 <= 5; $j = $i );echo
$j
;

//1 ~ 5 の階乗結果を計算します。値は $j

for (
$i ) = 1,$j = 1; $i <= 5;$j *= $i );echo $j
;
?>
PHP は C 言語の構文に依存しており、ある程度 C の特性も備えています。たとえば、強力な for ループ文がその代表例です。

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