SAK 図書館

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

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 編資料
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索



Copyright (C) 1999-2017 Y.SAK