第14回: for文 — 回数が決まっているループはこれ一択

章: 第1章: 文法の土台

「1から10まで出力したい」——このケースにはfor文が最もシンプルです

while文でも同じことは書けますが、「初期化・条件・増減」がバラバラに書かれると意図が読み取りにくくなります。for文はこれらを1行にまとめることで、「何回ループするか」を一目で伝えられます。

まずコードを動かしてみる


<?php
for ($i = 0; $i < 5; $i++) {
    echo $i . PHP_EOL;
}

for (初期化; 条件; 増減) の3つが1行にまとまっています。

for文 vs while文の比較

for文 while文
向いている場面 回数が決まっているループ 条件が動的に変わるループ
初期化・条件・増減 1行に集約 バラバラに書く
可読性 回数の意図が明確 条件ロジックが複雑でも書ける

悪い例(while文で回数ループを書くと冗長)


<?php
$i = 0;       // 初期化がここ
while ($i < 5) {
    echo $i;
    $i++;      // 増減がここ(初期化と離れている)
}

良い例(for文で一行にまとめる)


<?php
for ($i = 0; $i < 5; $i++) {
    echo $i;
}

チェックポイント: 配列の添字を使ってループしたい場合は for文よりも foreach文のほうが安全です。for文は添字の範囲を手動で管理するため、off-by-one エラー(1つ多い/少ないバグ)が起きやすいです。

逆順ループや2ずつ増やすパターン


<?php
// 5から1まで逆順
for ($i = 5; $i >= 1; $i--) {
    echo $i . ' ';
}

// 偶数だけ
for ($i = 0; $i <= 10; $i += 2) {
    echo $i . ' ';
}

まとめ & 次のステップ

  • for文は「初期化・条件・増減」を1行にまとめた回数ループ
  • 回数が決まっているループには while文よりも for文が読みやすい
  • 配列の走査には for文より foreach文を使うのが安全
  • 逆順・飛び飛びのループも増減部分を変えるだけで実現できる
  • break で途中終了、continue で次の反復にスキップできる

次回は foreach文を学びます。配列を最もシンプルに走査できる構文です。

Related Articles