※このサンプルの解説は、「CGI(Perl)の解説」をすべて読み終えてる方を前提としています。
  後になるほど省略されている場合がありますのでできるだけ順番に読んでください。
  また、実行に際しては、サーバーでPHPが利用できる事を前提に解説しています。

■ 繰り返し命令(while、do)

ここで説明する「繰り返し命令」「while」「do」です。
ここに使用した命令の概要は、「PHPの予備知識」−「制御構造」で解説しています。

◆while( )の使用方法

「while( )」文は指定した条件を満足する間、一連の処理を繰り返します。
「while( )」文の特徴は条件式が一番最初にあるため、条件を満たさなければ、一連の処理が一度も実行されない点です。

例えば、1から10までを羅列する簡単なサンプルとしては次のような記述をします。

【記述サンプル】
$i = 1; while($i <= 10){   print "$i / ";   $i++; }

「$i++」は「演算子」の中の「加算子」というものです。
「演算子」「加算子」の詳しい説明は「PHP関連のサイト」 のリファレンスサイトの「演算子」に詳しく解説されてますので、そちらも参照してください。

次は最初から条件を満たさない場合のサンプルです。

【記述サンプル】
$i = 6; while($i <= 5){   print "ここは一度も処理されない。";   $i++; }

「break;」命令を使いますと処理を途中で抜ける事ができます。

【記述サンプル】
$i = 0; while($i <= 5){   $i++;   print "a-$i / ";   if ($i == 3) break;   print "b-$i / "; }

「continue;」命令を使いますとそれ以降の一連の処理スキップする事ができます。

【記述サンプル】
$i = 0; while($i <= 5){   $i++;   print "a-$i / ";   if ($i >= 3) continue;   print "b-$i / "; }

◆do〜while( )の使用方法

「do〜while( )」文は「while( )」文とほぼ同じです。
その違いは条件式が最初にあるか、最後にあるかです。
したがって、「do〜while( )」の場合は条件を満たさなくても一連の処理を最低1回は実行します

次のサンプルは最初から条件を満たさないのに1度は処理されてしまうサンプルです。

【記述サンプル】
$i = 6; do{   $i++;   print "条件を満たさなくても処理される"; }while($i <= 5);

◆繰り返し命令のテスト

それでは上記のサンプルを使って条件命令をテストするために次のようなサンプルを作成してみました。

【記述サンプル】
<?php print "--------------------<br>\n"; $i = 1; while($i <= 10){   print "$i / ";   $i++; } print "<br>\n"; print "--------------------<br>\n"; $i = 6; while($i <= 5){   print "ここは一度も処理されない。";   $i++; } print "<br>\n"; print "--------------------<br>\n"; $i = 0; while($i <= 5){   $i++;   print "a-$i / ";   if ($i == 3) break;   print "b-$i / "; } print "<br>\n"; print "--------------------<br>\n"; $i = 0; while($i < 5){   $i++;   print "a-$i / ";   if ($i >= 3) continue;   print "b-$i / "; } print "<br>\n"; print "--------------------<br>\n"; $i = 6; do{   print "条件を満たさなくても処理される";   $i++; }while($i <= 5); print "<br>\n"; print "--------------------<br>\n"; ?>

「<br>\n」はHTML表示の改行とソースの改行です。

◆繰り返し命令テストの実行結果

最後に記述した上記のサンプルを「loop2.php」という名前で保存して実行してみてください。
実行結果はこちらをクリックしてください。
なお、実行結果については、各々のサーバーの環境、ユーザーの環境にによって内容は変わってきます。


page update:2010/01/23 20:32

Copyright (c) 2000-2009, all Rights Reserved & Produced by atom