0Pricing
PHP Academy · レッスン

forとwhileループ

for、while、do-whileループでコードを繰り返し実行します。

「forとwhileループ」はCoddyKit上の無料PHP Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはPHP Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 PHP Academyコースには全4レッスンが含まれています。

ループを使う理由

ループを使うと、コードをコピー&ペーストせずにブロックを繰り返し実行できます。PHPには4種類のループ構文があります。

  • for — 反復回数が既知の場合
  • while — 条件によって制御する場合
  • do-while — 少なくとも1回は実行する場合
  • foreach — 配列やオブジェクトを反復処理する場合(次のレッスン)

for ループ

for ループには、初期化、条件、インクリメントの3つの部分があります。

<?php
for ($i = 0; $i < 5; $i++) {
    echo $i . ' ';
}
// Output: 0 1 2 3 4

for ループでのカウントダウン

カウントダウンしたり、任意の量ずつ増減したりできます。

<?php
// Count down
for ($i = 10; $i >= 1; $i--) {
    echo $i . ' ';
}

// Step by 2
for ($i = 0; $i <= 10; $i += 2) {
    echo $i . ' ';  // 0 2 4 6 8 10
}

while ループ

while ループは、条件が true である間実行されます。条件は各反復の前にチェックされます。

<?php
$n = 1;

while ($n <= 5) {
    echo $n . ' ';
    $n++;
}
// Output: 1 2 3 4 5

do-while ループ

do-while は本体を必ず少なくとも1回実行します。条件は後でチェックされます。

<?php
$attempt = 0;

do {
    echo 'Trying... attempt ' . ($attempt + 1) . PHP_EOL;
    $attempt++;
} while ($attempt < 3 && !connectToServer());

function connectToServer(): bool { return false; }

無限ループと break

無限ループは、break で抜けない限り永遠に実行されます。

<?php
$count = 0;

while (true) {
    $count++;
    if ($count >= 5) {
        break;  // exit loop
    }
}

echo $count; // 5

continue — 反復をスキップ

continue は現在の反復の残りをスキップし、次の反復に移ります。

<?php
for ($i = 1; $i <= 10; $i++) {
    if ($i % 2 === 0) {
        continue;  // skip even numbers
    }
    echo $i . ' ';  // 1 3 5 7 9
}

ネストしたループ

ループはネストできます。グリッドや表などの2次元データに便利です。

<?php
for ($row = 1; $row <= 3; $row++) {
    for ($col = 1; $col <= 3; $col++) {
        echo "($row,$col) ";
    }
    echo PHP_EOL;
}
// (1,1) (1,2) (1,3)
// (2,1) (2,2) (2,3)
// (3,1) (3,2) (3,3)

ネストしたループから抜ける

break 2(または任意の数値)を使うと、複数のループ階層から一度に抜けられます。

<?php
for ($i = 0; $i < 5; $i++) {
    for ($j = 0; $j < 5; $j++) {
        if ($i === 2 && $j === 2) {
            break 2;  // exits both loops
        }
        echo "$i,$j ";
    }
}

ループのパフォーマンスに関するヒント

ループの条件内でコストの高い処理を行わないようにしてください。

<?php
// Bad: count() called on every iteration
for ($i = 0; $i < count($arr); $i++) { /* ... */ }

// Good: calculate once
$len = count($arr);
for ($i = 0; $i < $len; $i++) { /* ... */ }

// Also fine: foreach avoids this entirely
foreach ($arr as $item) { /* ... */ }

ループの代替構文

if と同様に、ループもHTMLへの埋め込みに使える代替のコロン構文をサポートしています。

<?php $items = ['apple', 'banana', 'cherry']; ?>
<ul>
<?php for ($i = 0; $i < count($items); $i++): ?>
    <li><?= htmlspecialchars($items[$i]) ?></li>
<?php endfor; ?>
</ul>

クイックチェック

本体が少なくとも1回実行されることが保証されているループはどれですか。

まとめ: for と while ループ

ループのまとめです。

  • for — 反復回数が分かっている場合に最適
  • while — 各反復の前に条件をチェック
  • do-while — 本体を少なくとも1回実行
  • break はループを終了し、break N は N 個の階層を終了
  • continue は次の反復へスキップ

次は、配列を反復処理する foreach です。

よくある質問

「forとwhileループ」レッスンは無料ですか?

はい。「forとwhileループ」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、PHP Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 PHP Academyコースには全4レッスンが含まれています。

「forとwhileループ」で何を学びますか?

for、while、do-whileループでコードを繰り返し実行します。 ブラウザで直接実行するハンズオンコードでPHP Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

PHP Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのPHP Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。

「forとwhileループ」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このPHP Academyレッスンでコードを書いて実行できますか?

はい。すべてのPHP Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. if、elseif、else
  2. SwitchとMatch文
  3. forとwhileループ
  4. foreachとループ制御
← PHP Academyに戻る