シンプルな名簿を作成(2):for文
制御構文を使って名簿を作る
- 「(1)配列を使う」では、出力に手間のかかる記述をしていましたが、その部分を「繰り返し文」を使って簡潔にします
- P.82参照
制御構文
分類 | 命令 | 意味 |
---|---|---|
分岐 | if | 条件が正しいかどうかによって、処理を分岐 |
switch | 式の値に応じて、処理を分岐 | |
繰り返し | for | 指定された回数だけ、処理を繰り返し |
while | ある条件が TRUE(正しい)である間だけ、処理を繰り返し |
|
foreach | 配列の中身をすべて読み込むまで、処理を繰り返し | |
移動 | break | 現在のブロックを脱出 |
continue | 繰り返し処理で、現在の周回をスキップ |
for命令
- 繰り返し構文
- P.83参照
for (初期化式; ループ継続条件; 増分) {
…繰り返し実行する処理…
}
《例》
<?php for ($i = 0; $i < count($data); $i++) { print('<li>'.$data[$i].'</li>'."\n"); } ?>
カウンタ変数を初期化する:初期化式
- forブロックに入った最初のループで、初期化式を1回だけ実行します
- この場合「$i = 0;」で、変数$i に0をセットします
- この$i は、ループ回数をカウントするための変数で「カウンタ変数」と呼ばれます
繰り返しを続ける条件を表す:条件式
- 次に、条件式でループを繰り返すための条件を表します
- この場合、「$i < count($data);」で、変数$i が配列のサイズよりも小さい間だけループを繰り返します
カウンタ変数を増減させる:増減式
- 最後に、増減式はループの処理を1回終わるたびに実行されます
- 一般的には、ここでカウンタ変数を増減させています
- この場合、「$i++」で、ループするたびにカウンタ変数$i に1を加算しています
- P.84参照
《完成例》
<?php $data = array('山田太郎', '横山花子', '田中一郎', '山本久美子', '鈴木次郎', '星山裕子', '佐藤勝男'); ?> <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>PHP入門教室</title> </head> <body> 名簿には<?php print(count($data)); ?>人が登録されています。 <ol> <?php for ($i = 0; $i < count($data); $i++) { print('<li>'.$data[$i].'</li>'); } ?> </ol> </body> </html>
《実行結果》
配列の中身を逆順に取り出す
<?php for ($i = count($data) - 1; $i >= 0; $i--) { print('<li>'.$data[$i].'</li>'."\n"); } ?>
まとめ
- スクリプトでの処理の流れを操作するには、制御構文を利用します
- 制御構文には、for、whileのような繰り返し構文と、if、switchのような分岐構文があります
- for命令を使うと、ある一定範囲の繰り返し処理をコンパクトに表現できます