for構文
for構文は、ループ(繰り返し)を行います。「~の間繰り返す」という働きがあります。ブログ記事の一覧を表示したいときなどに使います。構文は次のように書きます。
for ( 式1; 式2; 式3 ) { 処理内容 }
for構文は、たいていの場合は次のような役割を果たします。
式1:
- 式1:処理の前に一度だけ行う準備。初期化することで、よく変数の初期化に使われます。
- 式2:カッコ内の処理が実行されるための継続条件を設定します。式1で初期化した変数がどういう条件のときにTRUEになるか指定することが多いです。
- 式3:繰り返し処理の終わりごとに実行される。式1で初期化した変数をいくつ刻みで増減するか設定することが多いです。
まず変数iに1を代入して初期化してます。次に$1が15以下のときにTRUEになる条件を設定します。TRUEであれば、カッコ内の3行目の処理が行われます。3行目のドット「.」は変数と文字列をつなぐことができます。
もう少しわかりやすく図で表すと・・・・
$1の値 | 式2の評価 | 表示結果 | 式3の結果 | |
繰り返し前 | 1 | |||
繰り返し後 | 1 | 1<=15でTRUE | 1 | $i + 1 = 2 |
2 | 2<=15でTRUE | 2 | $i + 2 =3 | |
中略 | ||||
繰り返し終了 | 16 | 16<=15でFALSE | ||
覚えておくべきは、1から15まで繰り返したつもりでも、for構文が終わった後の$iの値は16になっているという点です。式2の評価で$iが15を超えてはじめて繰り返しの処理が終わりますが、その時には15回目の繰り返しの式3により$iに1が加算されています。
インクリメントとデクリメント
$a = $a + 1 は$a++ と書いても同じ設定になります。加算して再代入することをインクリメントといいます。 $a = $a – 1 は$a–と書いても同じです。減算して再代入することをデクリメントとと言います。
while構文
while構文は、「~の間、~する」という意味です。for構文での繰り返しは$iが15になるまで、のように繰り返しの回数が決まっていましたが、while構文では条件が成り立つまでずっと繰り返します。
while( 条件式) { 処理内容 }
while構文は、総量がどれほどあるかわからないデータを表示するときなどに便利です。例えば、何件あるかわからないブログ記事のタイトル名を一覧表示する場合などに使うと便利な機能です。