SAK 図書館
CGI-Perl 基礎実地編 - 実習5 (制御構造 - for ループ)
■test05.cgi
------ ↓ ここから ↓ ------
#!/usr/local/bin/perl
#// HTML 出力
print "Content-type: text/html\n\n";
print "<HTML>\n";
print "<P>for ループテスト</P>\n";
print "<TABLE border=1 cellPadding=2 cellSpacing=1>\n";
for ($y = 0; $y < 3; $y++) {
print "<TR>\n";
for ($x = 0; $x < 5; $x++) {
$i = $y * 5 + $x + 1;
print "<TD>";
print $i;
print "</TD>\n";
}
print "</TR>\n";
}
print "</TABLE>\n";
print "</HTML>\n";
#// 終了
exit(0);
------ ↑ ここまで ↑ ------
■解説
・この test05.cgi は、実行するとブラウザに
1 〜 15 の数値が入ったテーブルを表示します。
for ($y = 0; $y < 3; $y++) {
| | | |_ for ループが一回まわる度の増分値
| | |_ ループ条件 ($y が 3 より小さいときループする)
| |_ $y の初期値
|_ for ループ
この構文では $y を 0 〜 2 まで、1 加算しながら 3 回まわる。
テーブルの行に相当する。
for ($x = 0; $x < 5; $x++) {
| | | |_ for ループが一回まわる度の増分値
| | |_ ループ条件 ($x が 5 より小さいときループする)
| |_ $x の初期値
|_ for ループ
この構文では $x を 0 〜 4 まで、1 加算しながら 5 回まわる。
テーブルの列に相当する。
$i = $y * 5 + $x + 1;
|_ テーブルにセットする数値をループ変数より計算。
print "<TD>";
print $i;
print "</TD>\n";
|_ この 3 行を print "<TD>$i</TD>\n"; としても同じ。
■補足
・foreach() と言うループもある。
@a = ('1', '2', '3');
のように配列にデータがあるとき、
for ($i = 0; $i <= $#a; $i++) {
print @a[$i];
}
よりも
foreach (@a) {
print $_;
}
とする方が便利。
■実地
・test05.cgi も実際に作成してテストしてみましょう。
アレンジを忘れずに。
■CGI-Perl 基礎実地編資料
■CGI-Perl 基礎編資料
■CGI-Perl 応用実地編資料
■PHP 基礎編資料
■PHP + MySQL 編資料