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