制御構文を覚えよう! (5/6)
作成:2010-12-03 10:44
更新:2010-12-03 10:44
更新:2010-12-03 10:44
■forによる複雑な繰り返し
繰り返し構文は、whileよりも「for」という構文の方がもっと頻繁に利用するでしょう。これは、単なる条件の設定だけでなく、初期化や繰り返し処理などまでまとめて設定できる構文です。
2つ目が、繰り返しの条件です。ここに書いた式や値がtrueならば、繰り返しを続けます。falseになったら繰り返しを抜けて次に進みます。
3つ目は、繰り返し部分の処理を実行した後、次の繰り返しへ進む前に実行される処理です。要するに「繰り返しの後処理」というわけですね。繰り返すごとに変数の値を増減したりするのに利用されます。
このfor文は、記述する要素が多いので、実際に何度も書いて使い方に慣れておくとよいでしょう。下のリストに、サンプルを挙げておきます。これは、先ほどのwhileのサンプルを、forを使った形に書きなおしたものです。ここでは、
こうして、変数$iが1から順に2,3……と増えながら繰り返しを続けていき、100を超えたら繰り返しを抜ける、というようになっているのですね。
forはwhileよりややこしいですが、これを使うと繰り返しのために余計なことを書く必要がなく、スクリプトがすっきりすることがわかるでしょう。
for ( 初期化処理 ; 条件 ; 繰り返し後処理 ) {
……繰り返す処理……
}このfor文は、その後の()内に3つの要素を記述します。1つ目は、繰り返しを開始する前に実行するもので、変数に値を代入したり、繰り返しのための準備を行います。2つ目が、繰り返しの条件です。ここに書いた式や値がtrueならば、繰り返しを続けます。falseになったら繰り返しを抜けて次に進みます。
3つ目は、繰り返し部分の処理を実行した後、次の繰り返しへ進む前に実行される処理です。要するに「繰り返しの後処理」というわけですね。繰り返すごとに変数の値を増減したりするのに利用されます。
このfor文は、記述する要素が多いので、実際に何度も書いて使い方に慣れておくとよいでしょう。下のリストに、サンプルを挙げておきます。これは、先ほどのwhileのサンプルを、forを使った形に書きなおしたものです。ここでは、
for($i = 1;$i <= 100;$i++){……略……このような形でforを書いています。まず繰り返しに入る前に$i = 1を実行して変数$iに1を代入しておきます。そして、$i <= 100がtrueである(つまり$iが100以下)間、繰り返しを続けるようにしてあります。そして繰り返し処理を実行したら、$i++を実行して$iの値を1増やします。こうして、変数$iが1から順に2,3……と増えながら繰り返しを続けていき、100を超えたら繰り返しを抜ける、というようになっているのですね。
forはwhileよりややこしいですが、これを使うと繰り返しのために余計なことを書く必要がなく、スクリプトがすっきりすることがわかるでしょう。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
<?php
$total = 0;
for($i = 1;$i <= 100;$i++){
$total += $i;
}
?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=UTF-8" />
<title>sample page</title>
</head>
<body>
<h1>Hello PHP!</h1>
<div>
<?php echo "合計:" . $total; ?>
</div>
</body>
</html>
※関連コンテンツ