for 文
テクノロジ系 / loop (for / while / break / continue)
for 文
Lesson 3 / Chapter 1
同じ処理を何回も書くのは大変
<?php echo "1\n"; echo "2\n"; echo "3\n"; echo "4\n"; echo "5\n";
- 5 回ならまだ書ける
- 100 回なら? 1000 回なら?
- ループ を使えば 1 回書くだけで済む
for 文の形
<?php
for ($i = 1; $i <= 5; $i++) {
echo $i . "\n";
}実行結果:
1 2 3 4 5
for (初期化; 条件; 更新) { 処理 }- 条件が真の間、
{ }の中を繰り返す
3 つの部分を分解する
for ($i = 1; $i <= 5; $i++) {
echo $i . "\n";
}| 部分 | 役割 | 実行タイミング |
|---|---|---|
$i = 1 | 初期化 | ループ開始時に 1 回だけ |
$i <= 5 | 条件 | 毎回チェック (真なら続行) |
$i++ | 更新 | 1 回処理した後に実行 |
$i++ は「1 増やす」
<?php $i = 0; $i++; // $i = 1 $i++; // $i = 2 echo $i; // 2
$i++は$i = $i + 1と同じ- ループのカウンタを進めるためによく使う
$i--なら 1 減らす
0 から始める書き方もある
<?php
for ($i = 0; $i < 5; $i++) {
echo $i . "\n"; // 0 1 2 3 4
}$i = 0開始 +$i < 5条件 → 0 から 4 まで 5 回$i = 1開始 +$i <= 5条件 → 1 から 5 まで 5 回- どちらも 5 回繰り返すが、出る値が違うので問題に合わせる
このチャプターでできるようになること
✅ for 文で決まった回数だけ処理を繰り返せる
✅ カウンタ変数 $i を使って値を変えながら処理できる
✅ $i++ で 1 ずつ増やせる
✅ 初期値・条件を変えて回数を調整できる
→ ドリルへ
考えてみよう
既定では正解・不正解の判定はしません。自分のペースで「答えを見る」を。採点してほしい場合だけ「採点してほしい」を押してください。
ドリル 01 — 1 から 5 までを出力
問題
for 文を使って 1 から 5 までを 1 行ずつ出力してください。
期待される出力:
1 2 3 4 5
採点
php scripts/grade.php topics/loop/ch01-for/drill/01-count-to-5/
ヒント
for ($i = 1; $i <= 5; $i++)でループするecho $i . "\n";で 1 行ずつ出力
ドリル 02 — 1 から N までの合計
問題
標準入力で整数 N を 1 行受け取り、1 + 2 + ... + N の合計を出力してください。
入力例:
10
期待される出力:
55
採点
php scripts/grade.php topics/loop/ch01-for/drill/02-sum-to-n/
ヒント
$n = (int) trim(fgets(STDIN));で N を読む$sum = 0;で合計用の変数を用意for ($i = 1; $i <= $n; $i++) { $sum += $i; }で足していく$sum += $iは$sum = $sum + $iと同じ
ドリル 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
採点
php scripts/grade.php topics/loop/ch01-for/drill/03-multiply-table/
ヒント
$n = (int) trim(fgets(STDIN));で N を読むfor ($i = 1; $i <= 9; $i++)で 1 から 9 まで回すecho "$n x $i = " . ($n * $i) . "\n";のように出力