本文へスキップ
BecomeCoder

PHPコース · 第2章 条件分岐と繰り返し · レッスン7

forとwhile ― 繰り返す

ブラウザで完結

導入

「1から10まで表示する」を、echo を10回書くのは大変です。**繰り返し(ループ)**を使えば、同じ処理を何度でもコンパクトに書けます。

説明

回数が決まっている繰り返しには for が向いています。for (初期値; 続ける条件; 更新) の形です。

<?php
for ($i = 1; $i <= 5; $i++) {
    echo "{$i}回目\n";
}

$i = 1 から始まり、$i <= 5 の間くり返し、毎回 $i++$i に1足す)します。結果は「1回目」から「5回目」まで5行出ます。

条件が続く限り繰り返したいときは while を使います。

<?php
$n = 1;
while ($n <= 100) {
    $n = $n * 2;   // 1 → 2 → 4 → 8 → ...
}
echo "100を超えた最初の値: {$n}\n";   // 128

while (条件) { ... } は、条件が真のあいだ中身を繰り返します。中で値を変えないと無限ループになるので注意しましょう。

やってみよう

for510 に変えて、10回繰り返させてみましょう。while の例では、2を掛ける値がどう増えていくか追ってみてください。

演習

for を使って、1から10までの合計(1+2+…+10)を計算し、最後に表示してください。

ヒント1を見る

合計をためる変数を用意します。$sum = 0;

ヒント2を見る

ループの中で $sum += $i; と足し込み、ループの後で echo $sum; します。答えは 55 です。

実際に動かしてみよう

下のエディタにPHPを書いて「実行」を押すと、ブラウザ内で動く本物のPHP(php-wasm)で出力が表示されます。コードは必ず <?php で書き始めます。本文の例をそのまま試したり、書き換えたりしてみましょう(初回だけPHPの読み込みに少し時間がかかります)。

PHP — ブラウザ内で実行

ブラウザ内で動く本物のPHP(php-wasm / PHP 8.4)を読み込みます(初回のみ読み込みに少し時間がかかります)。
スクロールして表示された時点でも自動で読み込まれます。