【これだけ】PHPでの繰り返し処理の書き方【現役エンジニアが解説】

PROGRAM

今回は、PHPでの繰り返し処理の書き方について、for文とwhile文に分け、簡単に解説していきます。

for文

PHPで最も無難な繰り返し処理の書き方は、for文を使った”for(){}”という書き方です。

for文の()の中はセミコロンを挟んで、3つの条件を書き、1つ目がカウンタ変数の開始値、2つ目がループ条件、3つ目がカウントアップの仕方を指定します。

for ($i=0;$i<5;$i++) {
    echo ($i+1)."回目の出力です。";
}

上記のコードは、5回文章を出力する繰り返し処理ですが、カウンタ変数$iは0から始めて4までカウントアップさせており、通常はこのように0からカウントしていくことが一般的です。

while文

for文の代替として、そして数値以外の条件にも対応させるためにwhile文を使った”while(){}”という書き方もあります。

while文の()の中はループの条件を指定するだけですが、for文とは異なり、数値以外にも、例えば、ブーリアン型の条件も指定することができます。

$cnt = 0;
while ($cnt<5) {
    echo ($cnt+1)."回目の出力です。";
    $cnt++;
}

上記のコードは、数値の条件の繰り返し処理をwhile文で実装したものであり、この場合、カウンタ変数をwhile文の外に出したうえで、while文の中で自分で都度カウントアップさせていく必要があります。

再帰関数

繰り返し処理の一種として、再帰関数というものもあります。

これは関数の中で同じ関数を呼び、どんどん深い階層まで繰り返していくような関数のことを指します。

function getFactorial($num) {
    if($num > 0) {
        return $num * getFactorial($num-1);
    }
    return 1;
}

echo factorial(5); // "120"と出力

上記のコードのように、階乗計算が再帰関数の好例として挙げられますが、再帰関数では条件をきちんと設定しないと無限ループの危険があるため、注意しましょう。