支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡

  • TOP
  •   
  • コラム
  •   
  • 「PHP」for文を用いた繰り返し処

PHPを学習中の方に向けて、当記事ではPHPでfor文を用いた繰り返し処理の使い方について紹介していきます。

繰り返し処理(ループ)とは

繰り返し処理とは、その名の通り「同じ処理を何度も行わせるプログラム」です。ループ、などとも呼びます。
例えば、1~100の値を順番に表示したい時に、ひとつひとつechoで出力するのは手間ですので、そういった時に繰り返し処理を使えば簡単に実現できます。
PHPで繰り返し処理を行うには「for文」、「while文」などがあります。

今回はfor文の書き方について詳しくご紹介します。

for文

PHPでのfor文の基本的な式は以下の通りです。


for (初期化式; 条件式; 変化式){
    実行する内容;
}

これだけではなんのことかよくわからないと思いますので、ひとつひとつ解説していきます。

初期化式

初期化式では、変数の宣言と初期化を行います。
歩行者の人数を数えるカウンターを思い浮かべてください。最初は0からカウントを始めますよね?
初期化式は、カウンターを0に設定する式だと考えてください。(例えですので、必ずしも初期値を0にするとは限りません。)
for文ではまず、初期化式が実行されます。


for ($number=0; 条件式; 変化式){
    実行する内容;
}

条件式

次に条件式の解説を行いたいと思います。
これも歩行者カウンターを例に出して説明しますと、カウンターを1回カチっとする条件は「通行人が通った時」です。
条件式では処理を実行する条件を設定し、条件式がTRUEになった際に実行されます。
「通行人が通った時=TRUEというわけです。
この条件式でFALSEが返った際、for文から抜けます。


for ($number=0; $number<10; 変化式){
    実行する内容;
}

この例ですと、変数numberの値は現在0ですので、0<10はTRUEとなります。

変化式

最後に変化式についての解説です。
例のごとく歩行者カウンターを例に出して説明しますと、通行人が通った時「カウンターを1回カチっとする行為」です。
変化式は最初に初期化した変数に値を加算する役目を担っています。加算する値は1とは限らず任意で決定できます。


for ($number=0; $number<10; number++){
    実行する内容;
}

インクリメントについて

変化式の最後についている「++」という記号ですが、これはインクリメントといって、変数に1を加算します。
「--」だとデクリメントといって変数から1を減らします。
ご存じでない方は、この機会に覚えておきましょう。
「++」は「++a」または「a++」のように、前置きか後置きで記述しますが、どちらにするかによって若干ながら結果に変化が生じます。
ここで解説してしまうと混乱すると思われますので、今回は割愛させていただきます。

for文の処理順

for文の処理の順番なのですが、


for ($number=0; $number<10; number++){
    実行する内容;
}

このようになっております。
あれ?と思うかもしれませんが、「初期化→条件式→処理の実行→変化式」という順番になっています。
変化式は1回の処理が終わるタイミングで加算されますので、間違えないようにしましょう。

以上を踏まえて

先ほどから書いている式ですと


for ($number=0; $number<10; number++){
    echo $number;
}

$numberの値を出力します。
初期値は「0」、条件式で「0<10」でTRUEが返り、echoで0が出力されます。
1度目の処理が終わったので変化式で$numberに1がインクリメントされ、2回目の処理に移ります。
0から9までを出力し、$numberにインクリメントされ「10」となります。
この際、条件式でFALSEが返り、for文から抜けます。
出力結果は「0123456789」となります。

無限ループについて

無限ループとは条件式でFALSEが返らず、永遠に処理を実行し続けることです。
先ほど紹介したfor文の3つの式は全て省略可能ですが、


for($number=0;;number++){
    echo $number;
}

こんな風に条件式を書かずにfor文を実行してしまうと、条件式でTRUEが返り続けfor文から抜けることができません。
この式ですと、「012345678910111213141516........」と数字が無限に出力され続けます。
こうなってしまうと、プログラムに負荷がかかりクラッシュしてしまいます。
意図しない無限ループは危険ですので極力起きないよう注意しましょう。

最後に

以上がPHPでのfor文の使い方についての解説となります。for文による繰り返しはPHPだけではなく、プログラミング学習において避けては通れない分野です。
ぜひ一度ご自身で式を書いて、動作を確かめてみてください。
PHPの学習をされている方に、こちらの記事がお役に立てたら幸いです。