章: 第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文を学びます。配列を最もシンプルに走査できる構文です。