■サンプルプログラム
テキストエディタに以下のように書き込んで、「lesson5」フォルダの中に「sample02.php」として保存しましょう。
<html>
<head>
<title>Sample02</title>
</head>
<body>
<?php
for($i=0; $i<5; $i++){
print "${i}回目なんだよね〜";
}
?>
</body>
</html>
できましたら、ブラウザのアドレスに
「http://localhost/lesson5/sample02.php」にアクセス!
ロリポップ!
さくらのレンタルサーバ
などのレンタルサーバー使ってる方はlocalhostのところはドメイン名になります。
(簡単に安くネットショップを開きたい方はこちら!)
さて、如何でしょうか?ちゃんと表示されましたでしょうか?
■解説
さて、出力結果はほぼ同じですね。whileよりもスッキリしていて無限ループという危険性もほぼありません。
for($i=0; $i<5; $i++){
print "${i}回目なんだよね〜";
}
for文の構造は、
for( 初期値 ; 評価式 ; 反復式){ 評価式がtrueの間、実行する }
サンプルを見ると、初期値のところで$iを0に代入(初期化)しています。初期値は1度だけしか実行されません。評価式で$i<5を評価してtrueならば、{}の中が実行され、その後に反復式が実行されます。つまり、$i++で$iが1つインクリメントされます。そして、また評価式に戻り評価します。これがtrueの間だけ実行します。この処理を全て書き出して見ます。
- 初期値を$i=0に設定。$i(0)<5を実行するとtrueになるので{}を実行。$i++を実行($iは1)
- $i(1)<5を実行するとtrueになるので{}を実行。$i++を実行($iは2)
- $i(2)<5を実行するとtrueになるので{}を実行。$i++を実行($iは3)
- $i(3)<5を実行するとtrueになるので{}を実行。$i++を実行($iは4)
- $i(4)<5を実行するとtrueになるので{}を実行。$i++を実行($iは5)
- $i(5)<5を実行するとfalseになるので{}を実行中止
ということが実行されています。whileとforのどちらかを使うかはその場の状況(どっちを使ったほうが楽に書けるか)やどっちのほうが好き。とか、そういうので決めてもいいんじゃないんですかね。私はforを主に使ってますデス。
さぁ、これでループ文も覚えました。次ではフォームとfor文を組み合わせて使ってみましょう。