はやしたろうのはてなブログ

SE→システム営業→広告営業→ウェブマーケティング担当→集客担当になった中で感じたことを書いています。※旧:SE初心者奮闘記spec2

第四回:繰り返し命令

sponsored links

はぉ、はやしたろうです。

PHPに悩まされて早一ヶ月。
少しは慣れてきたと思いますが、今日もかなり突っかかってました。
ってかもう一ヶ月か。
なんの進歩も見られないことを考えると一ヶ月が早かったのか遅かったのか…。

さて、前回は「もし〜だったら〜しろ」命令(if文)でしたが、
今回は「繰り返し命令」ですね。

繰り返しってあんまり使わないよねー。
とか思ってたんですけど、掲示板を作るのに使わなければならなくてなかなか大変。
PHPでは(プログラム全般か? 浅学なのでスルーw)「配列」ってやつをよく使います。
掲示板を作る場合は記事を表示させるためには重要です。
ログ保存ファイルからログデータを読み込んで、「■番目から●番目の記事を表示させる」
ってことをするためにも「配列」が必要になります。
繰り返し命令はこの配列と合わせてよく使います。

以前、書いたんですが、PHPは基本的に上から下に命令を実行していくんですが、
繰り返し命令は実行すると、命令に書かれたことを決めた回数繰り返すことができます。
繰り返し命令を実行するためには「for文」や「foreach文」を使います。
for文の例は

for( $i=0 ; $i < 3 ; $i++){
  echo 'Hello';
}

と、こんな感じ。
実行すると

HelloHelloHello

を表示されます。
って書かれてもなんのこっちゃってやつですね。
例の解説をすると、

for(スタートの値;繰り返しを終了する条件;増加量){
  繰り返して行なう命令
}

となります。
スタートの値は $i=0 となっているので、最初の$iは0です。
繰り返しは終了する条件は $i<3 となっているので「$iが3より小さい(つまり2の)ときまで繰り返す」って意味ですね。
増加量は $i++ となっています。これは「1ずつ増加する」という定義です。なので繰り返されることで$iは1ずつ増加するってことですね。

まず一回目は $i=0 なので終了条件に当てはまらないので、{ }内の echo 'Hello"; を実行します。
echoを実行したらまた「for」で始まる行に戻ります。
このとき、増加量は1ずつなので、$iは1になります。これも終了条件に当てはまらないので{ }内を実行します。
そしてもう一度「for」で始まる行に戻ります。
このとき、$iは2になりますがこれも終了条件には当てはまらないので{ }内を実行します。
実行したらまた戻るんですけど、このとき $i は 3 になってしまうので終了条件を満たします。
そのため、ここでこの繰り返しが終了するのです。
なので、実行結果が

HelloHelloHello

になるんですね。
わかりましたでしょうか?
こんな感じで繰り返しを行なって、いろんな処理を簡単にしていくんですね。
もし、for文を使わない場合は、

echo 'HelloHelloHello";

と書くことになります。
例のように簡単な命令の場合は手打ちで打ち込んだ方が早いですが
扱うことが複雑になってくると繰り返し命令を使った方がてっとり早いことがあります。
今回の例でも100回も繰り返して「Hello」を手打ちで書くのはめんどうですよね?
そんなときは終了条件を $i < 100 とすれば100回自動的に書いてくれます。

僕は慣れるまで時間がかかって、どこを何回繰り返しているのかわからなくなったりしています。
これがわからないと掲示板が自力で作れないのでもっとちゃんと理解しようと思います。

「配列」の話をしたので次回は「foreach文と配列」について説明でもしますかね。
それではらぁこ〜ん!

追伸、
やっとiPadが発売されますね。
しかし、初期ロッドのapple製品を買うのは怖すぎるwww
ちょっと様子見ようっと。
会社の人も買うかも知れないので、買ったら触らせてもらおーっと。

広告を非表示にする