libro
www.tuyano.com
初心者のためのPHPプログラミング入門

制御構文を覚えよう! (5/6)

作成:2010-12-03 10:44
更新:2010-12-03 10:44

■forによる複雑な繰り返し

繰り返し構文は、whileよりも「for」という構文の方がもっと頻繁に利用するでしょう。これは、単なる条件の設定だけでなく、初期化や繰り返し処理などまでまとめて設定できる構文です。
for ( 初期化処理 ; 条件 ; 繰り返し後処理 ) {
    ……繰り返す処理……
}
このfor文は、その後の()内に3つの要素を記述します。1つ目は、繰り返しを開始する前に実行するもので、変数に値を代入したり、繰り返しのための準備を行います。

2つ目が、繰り返しの条件です。ここに書いた式や値がtrueならば、繰り返しを続けます。falseになったら繰り返しを抜けて次に進みます。

3つ目は、繰り返し部分の処理を実行した後、次の繰り返しへ進む前に実行される処理です。要するに「繰り返しの後処理」というわけですね。繰り返すごとに変数の値を増減したりするのに利用されます。

このfor文は、記述する要素が多いので、実際に何度も書いて使い方に慣れておくとよいでしょう。下のリストに、サンプルを挙げておきます。これは、先ほどのwhileのサンプルを、forを使った形に書きなおしたものです。ここでは、
for($i = 1;$i <= 100;$i++){……略……
このような形でforを書いています。まず繰り返しに入る前に$i = 1を実行して変数$iを代入しておきます。そして、$i <= 100trueである(つまり$i100以下)間、繰り返しを続けるようにしてあります。そして繰り返し処理を実行したら、$i++を実行して$iの値を増やします。

こうして、変数$iが1から順に2,3……と増えながら繰り返しを続けていき、100を超えたら繰り返しを抜ける、というようになっているのですね。

forwhileよりややこしいですが、これを使うと繰り返しのために余計なことを書く必要がなく、スクリプトがすっきりすることがわかるでしょう。

※プログラムリストが表示されない場合

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>
※関連コンテンツ

「初心者のためのPHPプログラミング入門」に戻る