PHPのfor文と同じように指定した文を繰り返すことができる構文があります。
while文(while statement)です。
while( 条件 ){
文;
行いたい処理
}
while文では、条件がtrueである限り、指定した文を何度でも
繰り返し処理をすることができます。
while(商品が存在する)
商品を表示する。
while文では、「商品が存在する」という条件がfalse文になるまで、
商品を表示することを繰り返します。while文では、処理をはじめる前に、
商品が存在しない場合は処理は行われません。
サンプルコードの実行結果はこちら
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
<!doctype html> <html> <head> <meta charset="utf-8"> <title></title> <link rel="stylesheet" href="../style.css"> </head> <body> <?php echo "<br>"; echo "<hr>"; $i = 0; while( $i < 5 ){ echo "商品No{$i}:***"; echo "<br>"; /* $iをインクリメントしてループをするか否かの 条件に変化をつけて、いづれはループを脱出するように する。このインクリメントが無いと無限ループ */ $i++; } echo "<br>"; echo "商品一覧出力完了<br>"; ?> </body> </html> |
サンプルコードの16行目~26行目のブロック内では繰り返しを行う
条件がfalseになるように、変数$iをインクリメントしてます。
繰り返しの条件を、変化させないと、永遠に繰り返し
処理が行われます。無限ループと言ったりもします。
end~ を使って書くこともできる
for文とwhile文では、条件にコロンを、最後に
「endfor;」、「endwhile;」をつけて書くことができます。
この書き方は、if文で書いた「endif;」を書く方法と同様です。
他にもswitch文で「endswitch;」を使うことができます。
for( $i=0 ; $i<5 ; i++):
処理;
処理;
endfor;
while( $i < 5 ):
処理;
処理;
endwhile;
switch( $num ):
処理;
処理;
endswitch;