PHPにおけるループ処理while
2012年4月6日:PHP
繰り返し処理はプログラミングの基本中の基本です。そこで、PHPで繰り返し処理をおこなう方法を紹介します。繰り返しにはいろいろありますが、基本である「while関数」を紹介します。
while文
まず、while文の書式は以下のようになります。
while(条件式){
繰り返す処理
}
繰り返す処理
}
試しに以下のようなプログラムを作ってみます。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>whileの使い方</title> </head> <body> <?php $a=0; //$aの初期値は0 while($a<10){ //$a<10の間は続ける $a=$a+1; //$aをインクリメント echo $a.'<br />'; //$a<br />を表示 } ?> </body> </html>
このプログラムを実行すると、 1から10の文字が表示されます。
1
2
3
4
5
6
7
8
9
10
条件$a<10の間は
- $aを1繰り上げ
- $a<br />を出力する
という処理をくりかえします。そして、 $a<10を満たさなくなるとき、つまり$aが10になったときに処理が終了します。
無限ループ
while(true){
処理
}
処理
}
とすると無限ループになります。無限ループにすると、サーバーへの負担が大きいので注意しましょう。もし、無限ループのあるページにアクセスが集まれば、きっと恐ろしいことになるでしょう。ただ、PHPをテストして無限ループに落ち入っても、ある程度処理が続けば自動で処理を終了してくれるそうです。
whileを抜ける方法としてbreakがあります。例えば先ほどのプログラムは
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>whileの使い方</title> </head> <body> <?php $a=0; //初期化 while(true){ //無限ループ if($a>10)break; //もし$a>10ならループを抜ける $a=$a+1; //$aをインクリメント echo $a.'<br />';//$a<br />を表示 } ?> </body> </html>
として書くことができます。無限ループがありますが、if文とbreak関数を使って、$a>10となったらループを抜けるようにしてあります。
著者:安井 真人(やすい まさと)
@yasui_masatoさんをフォロー