概要

プログラムの仕事の多くは「同じような処理を繰り返す」ことだ。1 から 100 までの数を出力したい時、echo 1; echo 2; ... と 100 行書くのは現実的ではないし、コピペで済ませようとした瞬間にバグの温床になる。ループは、この「繰り返し」をコンピュータに任せて、人間が書くコードを 1 ブロックに圧縮するためのしくみだ。

PHP で最も基本的なループが forfor ($i = 0; $i < N; $i++) という形は、3 つのパートで構成されている。初期化 ($i = 0、ループ開始前に 1 回だけ実行)、条件 ($i < N、毎回チェックされ、真の間だけ繰り返す)、更新 ($i++、各反復の最後に実行)。この 3 点セットで「何回回るか」が明示できるので、回数が事前に分かっているループには for が最適になる。

初学者がここで一番踏むのが オフバイワンエラー だ。「1 から N まで」のつもりで $i < N と書くと N が出力されない (実際は 1 から N-1 までしか回らない)。<= を使うか、開始を 1 にして $i <= N にするか、流派は色々あるが、まずは自分で書いて 1 つズレた結果を見ることが最大の学びになる。もうひとつ、$i++ を書き忘れたり条件を絶対に偽にならない式にすると 無限ループ に突入してターミナルが止まる。Ctrl+C で止められる、と最初に知っておくと安心できる。

学習目標

ドリル

no 内容
01 1 から 5 までを 1 行ずつ出力
02 入力 N で 1+2+...+N の合計を出力
03 入力 N で N の段の九九を出力

演習: ドリル 01 — 1 から 5 までを出力

問題

for 文を使って 1 から 5 までを 1 行ずつ出力してください。

期待される出力:

1
2
3
4
5

ヒント

演習: ドリル 02 — 1 から N までの合計

問題

標準入力で整数 N を 1 行受け取り、1 + 2 + ... + N の合計を出力してください。

入力例:

10

期待される出力:

55

ヒント

演習: ドリル 03 — N の段の九九

問題

標準入力で整数 N (1〜9) を 1 行受け取り、N の段の九九を 1 行ずつ出力してください。

出力形式は N x i = 結果 の形 (空白区切り)。

入力例:

3

期待される出力:

3 x 1 = 3
3 x 2 = 6
3 x 3 = 9
3 x 4 = 12
3 x 5 = 15
3 x 6 = 18
3 x 7 = 21
3 x 8 = 24
3 x 9 = 27

ヒント

この章を AI に聞く

  1. 「ch01 — for 文」のつまずきやすいポイントを、初学者向けに3つ教えてください

    💬 ChatGPT 📘 Claude ✨ Gemini

  2. 「ch01 — for 文」について、自分の手で試せる練習問題を3つ出してください (難易度を上げながら)

    💬 ChatGPT 📘 Claude ✨ Gemini

  3. 「ch01 — for 文」を学んだ後、次に学ぶと良いトピックは何ですか?理由も教えてください

    💬 ChatGPT 📘 Claude ✨ Gemini

🎉 受講お疲れさまでした!

ch01 — for 文」を読み終えました。
学んだことを誰かに教えると、もっと記憶に残ります。

X で共有 Hatena LINE