Blogブログ

第9回:ループ(for文)を使ってみよう!

2013/01/30

プログラムでif文と今回勉強するfor文を使いこなせるようになると

表現できる幅が格段に上がります。

for文とはどうゆうものか?というと、

決まった回数ループをしてくれます・・・・・。これだけじゃよくわからないですよね。

例えば1から10まで数字を表示したいとします。

これを全て書くのは面倒くさいですよね?

ループ(for文)を使えばこれを容易に表示できます。

では、具体的に見て行きましょう。

まずは手動で1?10表示

//1?10までの数字を表示

print "1<br>\n";
print "2<br>\n";
print "3<br>\n";
print "4<br>\n";
print "5<br>\n";
print "6<br>\n";
print "7<br>\n";
print "8<br>\n";
print "9<br>\n";
print "10<br>\n";

これでブラウザでアクセスすると1?10までの数字が表示されます。

はブラウザでの改行。\nは「ソースを表示」で見た時の改行です。
※ \ は¥を半角入力で入力したものです。

ループ(for文)で1?10表示

では次はループ(for文)を使って同じ事を表現してみたと思います。

//1?10までの数字を表示

for ( $i = 1 ; $i <= 10 ; $i ++ ) {
	print $i."<br>\n";
}
print "処理を抜けました";

分解して、みていきましょう。

for文を使う時は

//1?10までの数字を表示

for ( 変数の初期化 ; 実行条件 ; 追加処理 ) {
	ループしたい処理;
}
print "処理を抜けました";

となっています。

まずは「変数の初期化」部分

$i = 1 ; となっているのは $iに数字の1を代入しています。

次に続く「実行条件」は

$i <= 10 ; とありますので、数字の1スタートで始まった $i が10より小さいかまたは同じ時はループを繰り返します。

最後の「追加処理」とはfor文内の処理が走った後に実行される処理です。

今回は $i ++ と書いてありますので for文内の処理が終わった後に $i に 1 が足されます。

まだ、ちょっとわかりづらいかもしれませんので、

すべての流れを順番に書いておきます。

すべての処理

■変数 $i が初期化され 1 が代入される。(初期化ははじめの1回だけです)
——–ここからループされます———-
■実行条件を確認し、 $i <= 10 なので、 $i が10以下なら実行されます。
(今回は1なので処理が行われます。)
■print $i.”<br>\n”; が実行される。HTMLで書くと 1<br> となります。
■追加処理が行われ $i ++ となっているので $i に1が足されて $i が2になります。

■実行条件を確認し、 $i <= 10 なので、 $i が10以下なら実行されます。
(今回は2なので処理が行われます。)
■print $i.”<br>\n”; が実行される。HTMLで書くと 2<br> となります。
■追加処理が行われ $i ++ となっているので $i に1が足されて $i が3になります。

■実行条件を確認し、 $i <= 10 なので、 $i が10以下なら実行されます。
(今回は3なので処理が行われます。)
■print $i.”<br>\n”; が実行される。HTMLで書くと 3<br> となります。
■追加処理が行われ $i ++ となっているので $i に1が足されて $i が4になります。

■このように同じことが繰り返されて、途中省略し、 $i が9までいった所から書きます。

■実行条件を確認し、 $i <= 10 なので、 $i が10以下なら実行されます。 (今回は9なので処理が行われます。) ■print $i."<br>\n"; が実行される。HTMLで書くと 9<br> となります。 ■追加処理が行われ $i ++ となっているので $i に1が足されて $i が10になります。 ■実行条件を確認し、 $i <= 10 なので、 $i が10以下なら実行されます。 (今回は10なので処理が行われます。) ■print $i."<br>\n"; が実行される。HTMLで書くと 10<br> となります。 ■追加処理が行われ $i ++ となっているので $i に1が足されて $i が11になります。 ■実行条件を確認し、 $i <= 10 なので、 $i が10以下なら実行されます。 (今回は11です) ■ここで10以下という実行条件を超えてしまったので、処理が止まりループ(for文)から抜けます。 ■print "処理を抜けました"; が実行されます。 このような流れでfor文は動きます。 これを使いこなせるようになると本当にプログラムの幅が広がりますので、 是非理解をして下さい。 プログラムをいじった事が無い人はあまり見ない概念だと思うので、 はじめは戸惑うかもしれませんが、慣れればどうってことないです。 まだ10までなら書けますが、これが100だったり1000だったりするとすごく大変です。 そんな時はループ(for文)を使ってみてください。 ちなみに1000だった場合は [php] //1?1000までの数字を表示 for ( $i = 1 ; $i <= 1000 ; $i ++ ) { print $i."<br>\n"; } [/php] とするだけで、表示できます。 便利ですよね?

他社より断然お得で使いやすい
”アクトのWEB制作”
ACTホームページ相談窓口 / 
システム開発相談窓口