1. PHP ループ
コードを書くとき、同じコード ブロックを何度も実行する必要があることがよくあります。現時点では、コード内でループ ステートメントを使用してこのタスクを完了できます。
PHP では、次のループ ステートメントが提供されます:
while - 指定された条件が true である限り、コード ブロックはループ内で実行されます。
do...while - コード ブロックは 1 回実行されます。ループ
for - コード ブロックを指定した回数実行するループ
foreach - 配列内の各要素に基づいてコード ブロックをループします
2. While ループ
while ループは、指定された条件が満たされるまでコード ブロックを繰り返し実行します。正しくありません
文法:
while (条件)
{
実行されるコード;
}
while ループを理解しましょう
コードロジックダイアグラムによる
まず条件が満たされているかどうかを判断し、満たされている場合は続行します。条件が満たされなくなるまで中かっこ内のコードを実行し、その後ジャンプします
例1 1から50までの整数を出力するループ
: ソースコードは次のとおりです<?php $i=1; while($i<=50){ echo $i." "; $i++; } ?>
例2: 1から100までのテーブルを出力し、インターレースの色変更を実現します関数
まずテーブル全体を出力します: ソースコードは次のとおりです以下<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <?php //定义循环的初始值 $i=0; //输出表格 echo '<table width="800" border="1" >';//双引号外面要套单引号,双引号会报错 while($i<100){ //0 - 9 为一行 //10 -19 为一行 //因此,每一行的开始都能够被10求余后为零,如为10的时候,应该显示行开始的标签 if($i%10==0){ //为了隔行变色,第2,4,6每行的颜色变过色的,因此我们又可以再进行一次取余运算 if($i%20==0){ //第1,3,5等行正常输出 echo "<tr>"; }else{ //第2,4,6等行正常输出 echo '<tr bgcolor="pink">';//双引号外面要套单引号,双引号会报错 } } echo "<td>"; echo $i; echo "</td>"; $i++; //同理,每一行结束是不是应该有一个</tr>结束标签呢? if($i%10==0){ echo "</tr>"; } } echo "</table>"; ?> </body> </html>注: テーブル部分については、HTML コースの関連部分のみを参照してください
注: ステートメントでは、一重引用符は二重引用符で囲み、二重引用符は一重引用符で囲む必要があります
3. do...while ループ
構文: do
実行されるコード;
}while (条件);コードを少なくとも 1 回実行し、条件を確認します。条件が true である限り、ループが繰り返されます
l do...while と while の違いは、値が異なるタイミングでチェックされることです。
ただし、前の while ループはブール判定領域をチェックし、それが true の場合に実行します。成立しない場合は実行されません。
<?php $i = 0; do { echo $i; } while ($i > 0); ?>
上記のコードでは、$i は確実に 0 以下であり、これも実行されます。
もちろん、まだ理解していない場合は、アプリケーションのシナリオがまったく思い浮かばなくても、このブロックを完全にスキップしても問題ありません。
do...while はほとんど使用されません。ファイルを開くなどのリソース処理に使用する場合があります。 4. for ループ制御ステートメント
for ループは、スクリプトを実行する必要がある回数が事前にわかっている場合に使用されます
構文:
for (初期値; 条件; 増分)
{
}
条件: ループ実行の制限。 TRUE の場合、ループが継続します。 FALSE の場合、ループは終了します。
インクリメント: 主にカウンターをインクリメントするために使用されます (ただし、ループの最後に実行される任意のコードを使用できます)。
注: 上記の初期値と増分パラメーターは空にすることも、複数の式 (カンマで区切る) を指定することもできます。
例: for ループを使用して 1-100 を出力します。ソースコードは次のとおりです
<?php for($i=1;$i<=50;$i++){ echo $i." "; } ?>
例: for ループを使用して 9*9 の乗算表を入力します
<?php //99乘法口诀表从1开始,所以声明一个变量$i = 1,让$i小于10,也就是最大值为9 for($i=1;$i<=9;$i++){ //1x1=1,2x2等于4,所以第二次循环的最大值为$i的值,因此$j=1, $j在循环自加的过程当中,只能够小于等于$i for($j=1;$j<=$i;$j++){ echo $i."x".$j."=".$i*$j.' '; } //每行结束输出一个换行 echo "<br/>"; } ?>
注: コードは水平方向に出力され、改行文字は各内部 for ループの終了後に 1 回実行されます。
出てくるいくつかの類似点と相違点を追加しましょう
ステートメント | 関数 |
exit | 出口については以前話しました。 current |
break | で後続の実行を停止します。前に遭遇した場合、ループから飛び出すか、構造から飛び出て後続のコードを実行します |
Continue | このループから飛び出す次のループを続行します |
例を見てみましょう。 ソースコードは次のとおりです:
<?php for ($i = 1; $i <= 10; $i++) { if($i == 4){ //待会儿换成contiune试试 break; } echo '学习PHP的第'.$i.'天,加油<br />'; } ?>
Break を continue に置き換えて、結果を確認してみます: (行 4 が失われ、その他行は通常通り出力されます)
5. foreach ループ (ここではまだ配列が紹介されていません。配列の概要を読んでからこの章を学習できます)
foreach ループは配列を走査するために使用されます
構文は:
foreach ($array as $value)
{
コードを実行するには、
}
ループするたびに、現在の配列要素の値が $value 変数に割り当てられます (配列ポインターは移動します) 1 つずつ)、次回ループすると、配列内の次の値が表示されます
例: ソース コードは次のとおりです
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> <body> <?php $x=array(1,2,3,4); foreach ($x as $value) { echo $value . "<br>"; } ?> </body> </html>次のセクション