for文を使った繰り返し処理の方法

for 文は PHP の繰り返し処理を行う構文の一つで、主に決められた回数だけ繰り返しを行う場合に使用されます。ここでは PHP で for 文の使い方について解説します。

for文の使い方

for 文は指定された回数だけ繰り返し処理を行いたい場合に便利です。書式は次の通りです。

for (初期化式; 条件式; 変化式){
  実行する処理1;
  実行する処理2;
  ・・・
}

for 文では初期化式、条件式、変化式の 3 つを記述します。

初期化式は for 文の処理が開始される時に一度だけ実行されます。主に条件式の中で使用される変数などの初期化を行う式を記述します。

条件式は while 文などと同じく繰り返しを継続するかどうかの判定に用います。条件式の評価が TRUE であればブロック内の処理を実行します。 FALSE ならば for 文を終了します。

変化式は通常は条件式の中で使用される変数などを、繰り返しが一回行われる毎に変化させるための式を記述します。

例えば繰り返し処理を 3 回行いたい場合、 for 文を使用すると次のように記述できます。

for ($i = 0; $i < 2; $i++){
  echo "Hello\n";
}

初期化式で変数「i」に初期値の 0 を代入しています。条件式では変数の値が 2 未満の場合は TRUE となる条件式を記述しています。そして変化式では、繰り返し処理を行うごとに変数の値に 1 を追加しています。

この時、次のように実行されます。

 1) for文を使った繰り返しを開始
 2) 変数「i」に 0 を代入
 3) 条件式を評価。変数の値は 0 で 2 より小さいので条件式は TRUE
 4) ブロック内の処理を実行。変数の値を出力。
 5) ブロックの最後まで達したので変数の値に 1 を追加
 6) 条件式を評価。変数の値は 1 で 2 より小さいので条件式は TRUE
 7) ブロック内の処理を実行。変数の値を出力。
 8) ブロックの最後まで達したので変数の値に 1 を追加
 9) 条件式を評価。変数の値は 2 で 2 より小さくないので条件式は FALSE
 10) for文を終了

for 文も while 文と同様に条件式の評価結果が TRUE の間は処理を繰り返しますが、 for 文では初期化式・条件式・変化式をまとめて記述できるため、繰り返し回数を指定する処理を簡潔に書きやすいのが特徴です。

実行される処理が一つだけの場合はブロックを省略して次のように記述しても構いません。

for (初期化式; 条件式; 変化式)
  実行する処理;

なお for 文でも break 文や continue 文を使用できます。詳しくは「break文とcontinue文を使った繰り返し処理の制御」を参照されてください。

サンプルコード

では簡単なプログラムで試してみます。

<?php
for ($i = 0; $i < 10; $i++){
  echo "Hello!\n";
}

作成したプログラムを sample.php として保存しました。その後でコマンドプロンプトを起動し、次のように実行しました。

php sample.php

for文の使い方

記述した処理を 10 回繰り返しました。

for文で複数の変数を変化させる

for 文の基本的な書式は次のようなものでした。

for (初期化式; 条件式; 変化式){
  実行する処理1;
  実行する処理2;
  ・・・
}

for 文の初期化式や変化式には複数の式を記述できます。複数の式を記述する場合はカンマで区切って記述してください。

for (初期化式1, 初期化式2, ..; 条件式; 変化式1, 変化式2, ..){
  実行する処理1;
  実行する処理2;
  ・・・
}

例えば2つの変数の初期化と変化を行うには次のように記述します。

for ($x = 1, $y = 9; $x < 10; $x++, $y--){
  echo "x=".$x.",y=".$y."\n";
}

今回の場合、初期化式として変数「x」に数値の 1、変数「y」に数値の 9 を代入しています。そして繰り返し処理を行うごとに変数「x」の値を 1 加算し、変数「y」の値を 1 減算します。繰り返し処理は 9 回行われます。

サンプルコード

では簡単なプログラムで試してみます。

<?php
for ($x = 1, $y = 9; $x < 10; $x++, $y--){
  echo "x=".$x.",y=".$y."\n";
}

作成したプログラムを sample.php として保存しました。その後でコマンドプロンプトを起動し、次のように実行しました。

php sample.php

for文の使い方

for 文を使った繰り返し処理で、 2 つの変数を変化させました。

-- --

PHP で for 文の使い方について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。