ホームページ >バックエンド開発 >PHPチュートリアル >phpでのfor文の書き方 phpのforループ文の使い方を詳しく解説します。
phpにおけるforの意味
forループはPHPで最も複雑なループ構造です。その動作は C 言語の動作に似ています。 PHP で使用されるのは、同じコードのセットを何度も実行することです
for ループは、ループが追加されている間、コードを少しだけ追加したものです。ループに含まれる一般的なタスクは次のとおりです:
いくつかのカウンター変数の初期値を設定します。
条件文が正しいことを確認してください。
実行中のコードループ。
各反復の終了時にループカウンターをインクリメントします。
for ループを使用すると、簡単なコード行でこれらのステップを定義できます。変な形をしているようなので、文法には十分注意してくださいね!
PHP で for ステートメントを記述する方法は?
for ループの構文は次のとおりです:
for (expr1; expr2; expr3)
ステートメント
最初の式 (expr1) は、ループが開始される前に無条件に 1 回評価されます。
expr2 は各ループの前に評価されます。値が TRUE の場合、ループが続行され、ネストされたループ ステートメントが実行されます。値が FALSE の場合、ループは終了します。
expr3 は各ループの後に評価 (実行) されます。
各式は空にすることも、カンマで区切られた複数の式を含めることもできます。式 expr2 では、カンマで区切られたすべての式が評価されますが、最後の結果のみが取得されます。空の expr2 は、ループが無限に継続することを意味します (C と同様、PHP はその値を TRUE と見なします)。これは、思っているほど役に立たないかもしれません。ループを終了するには、for 式の真偽チェックを使用する代わりに、break ステートメントを使用することがよくあります。
php for ループステートメントの簡単な例 1
コードは次のとおりです:
FOR ($i = 0; $i <= 2; $i++) { print "value is now " . $i . "<br>"; }
出力値
値は 0 になりました
値は 1 になりました
値は 2 になりました
最初のループでは、 $i=0これは、式 ($i
2 番目のループでは、$ = 1、つまり式 ($i
3 回目の反復では、$i= 2 です。これは、式 ($i
4 番目の反復では、$i= 3 です。これは、式 ($i
PHPのforループステートメントの簡単な例2
コードは次のとおりです:
$brush_price = 5; echo "<table border="1" align="center">"; echo "<tr><th>Quantity</th>"; echo "<th>Price</th></tr>"; for ( $counter = 10; $counter <= 100; $counter += 10) { echo "<tr><td>"; echo $counter; echo "</td><td>"; echo $brush_price * $counter; echo "</td></tr>"; } echo "</table>";
出力値
数量価格
10 50
20 100
30 150
40 200
50 250
60 300
70 350
80 400
90 450
100 500
次の例を参照してください。すべて 1 から 10 の数字が表示されます。
コードは次のとおりです:
<?php /* example 1 */ for ($i = 1; $i <= 10; $i++) { echo $i; } /* example 2 */ for ($i = 1; ; $i++) { if ($i > 10) { break; } echo $i; } /* example 3 */ $i = 1; for (;;) { if ($i > 10) { break; } echo $i; $i++; } /* example 4 */ for ($i = 1, $j = 0; $i <= 10; $j += $i, print $i, $i++); ?>
もちろん、最初の例は最も普通に見えます (または4 番目)、ただし、for ループで空の式を使用すると、多くの状況で便利であることがわかります。
PHP は、コロンを使用した for ループの代替構文もサポートしています。
コードは次のとおりです:
for (expr1; expr2; expr3): statement; ... endfor;
多くの場合、次の配列を走査する必要があります:
コードは次のとおりです:
<?php /* * 我们想要在遍历的过程中改变以下数组中某些元素的值 */ $people = Array( Array('name' => 'Kalle', 'salt' => 856412), Array('name' => 'Pierre', 'salt' => 215863) ); for($i = 0; $i < sizeof($people); ++$i) { $people[$i]['salt'] = rand(000000, 999999); } ?>
上記のコードの問題は、for の 2 番目の式がコードの実行が非常に遅くなります。 遅い - 配列の長さをループのたびに計算する必要があるためです。配列の長さは常に同じなので、中間変数を使用して配列の長さを保存し、この変数を for ループの 2 番目の式として使用できます。このようにして、毎回再計算することなく、変数の値をループ中に直接使用できます。 次のように:
コードは次のとおりです:
<?php $people = Array( Array('name' => 'Kalle', 'salt' => 856412), Array('name' => 'Pierre', 'salt' => 215863) ); for($i = 0, $size = sizeof($people); $i < $size; ++$i) { $people[$i]['salt'] = rand(000000, 999999); } ?>
以上がphpでのfor文の書き方 phpのforループ文の使い方を詳しく解説します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。