PHP ループ
コードを記述するとき、同じコード ブロックを何度も繰り返し実行する必要があることがよくあります。スクリプトにほぼ同じ数行のコードを追加する代わりに、ループを使用してそのようなタスクを実行できます。
PHP には、次のループ ステートメントがあります:
· while - 指定された条件が true である限り、コード ブロックをループします。
· do...while - コード ブロックを最初に 1 回実行します。指定された条件が true である限り、ループを繰り返します
· for - コード ブロックを指定された回数ループします
· foreach - 配列内の各要素をループし、コード ブロックをループします
PHPのwhileループ
whileはブールループで、whileの値(ブール判定)がtrueの場合、中括弧で囲まれたコードが実行されます。 false の場合は、停止して後続のコードを実行します。
構文
while (条件はtrue){
//コードを実行。
}
例
次の例では、まず変数 $x を 1 ($x=1) に設定します。 $x が 5 以下である限り、while ループが実行されます。ループが実行されるたびに、$x は 1 ずつ増加します:
<?php header("Content-type:text/html;charset=utf-8"); //设置编码 $x=1; while($x<=5){ echo "这个数是---".$x ."<br/>"; $x++; } ?>
プログラムの結果を見てください:
この数値は --- 1
この数値は --- 2
この数値は -- -3
this その数は---4
その数は---5
注意: 以下のプログラムのような無限ループ(終了条件のないループ)を書かないでください
<?php
whie(1){
echo 1111.'<br />';
}?>
while 条件は 1 であり、常に true であるため、ループし続けます。これはループであり、ページがクラッシュする
PHP do...while ループ
do...while と while の違いそれが彼らの価値観なのか異なるタイミングでチェックされます。
do-while while判定が真であるかどうかに関係なく、コードブロックのループ文は1回実行され、必ず1回実行されることが保証されます(式の真偽値はループごとにチェックされます)。
ただし、上記の while ループはブール判定領域をチェックし、true であれば実行します。成立しない場合は実行されません。
構文
do{
//コードを実行;
}while (条件がtrue);
例
次の例では、まず変数 $x を 1 ($x=1) に設定します。次に、do while ループは文字列を出力し、変数 $x を 1 ずつインクリメントします。次に、条件がチェックされます ($x が 5 以下かどうか)。 $x が 5 以下である限り、ループは実行され続けます
<?php
header("Content-type:text/html;charset=utf-8"); //设置编码
$x=1;
do {
echo "这个数字是:$x <br>";
$x++;
} while ($x<=5);
?>
do...while が実行されたときのプログラムの結果を見てみましょう。条件が満たされていません:
<?php header("Content-type:text/html;charset=utf-8"); //设置编码 $x=6; do { echo "这个数字是:$x <br>"; $x++; } while ($x<=5); ?>
上記の例は、do...while ループの条件が満たされていない場合でもコードが再度実行されることを完全に示しています
for ループと foreachループについては次の章で説明します。
次のセクション