PHPのdo-whileループ:初心者向けガイド

JavaScriptを有効にしてください

前書き

PHPプログラミングにおいて、do-whileループは少なくとも一度はコードブロックを実行し、その後指定された条件が真の間繰り返し実行されるループです。
この記事では、do-whileループの基本的な使い方といくつかの一般的な使用例を紹介します。

サンプルコードはPHP Playground で実行できます。

do-whileループの基本

PHPのdo-whileループは、まずコードブロックを実行し、その後条件を評価します。
基本的な構文は以下の通りです:

PHP
1
2
3
do {
    // 最初に実行されるコード
} while (条件);

例:単純なdo-whileループ

カウンターを使ったループ

PHP
1
2
3
4
5
6
7
<?php
$count = 1;

do {
    echo "カウント: $count<br>";
    $count++;
} while ($count <= 5);
実行結果
1
カウント: 1<br>カウント: 2<br>カウント: 3<br>カウント: 4<br>カウント: 5<br>

このコードは、カウンターが5に達するまで数を表示します。

do-whileループの適切な使用

do-whileループは、ループの条件をチェックする前に最低一度はコードを実行したい場合に適しています。

例:ユーザー入力の処理

以下は、ランダムな数値を生成し、特定の条件を満たすまで処理を繰り返す例です。この例では、ランダムに生成された数値が50以上になるまでループを実行します。
do-while文は、ループ内の処理を少なくとも一度は必ず実行し、その結果に応じて継続・終了を判断する場合に適しています。

PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<?php
do {
    // 1から100までのランダムな数値を生成
    $number = mt_rand(1, 100);
    echo "生成された数値: $number<br>";
    
    // 条件:生成された数値が50未満の場合、ループを続行
} while ($number < 50);

echo "ループ終了:生成された数値が50以上になりました。";
実行結果
1
生成された数値: 67<br>ループ終了:生成された数値が50以上になりました。

解説:

  • doブロック内の処理

    • mt_rand(1, 100) を使って1から100までのランダムな数値を生成しています。
    • 生成された数値を表示しています。
  • ループの継続条件

    • while ($number < 50) により、生成された数値が50未満であればループを継続します。
    • 初回の実行では必ず数値を生成し、条件を評価するため、do-while文が適しています。

この例では、for文では初回の実行を保証するのが直感的ではなく、ループ回数が事前に決まっていないため、do-while文が自然な選択となります。

do-whileループの注意点

do-whileループを使用する際は、無限ループに陥らないように、ループの条件がいずれfalseになるように注意が必要です。

まとめ

PHPのdo-whileループは、特定の条件下で少なくとも一度はコードを実行する必要がある場合に便利です。
この記事で紹介した基本的な使い方と例を参考にして、あなたのPHPプログラミングに柔軟性を加えましょう。

PHP初心者向け:for文の基本と応用
PHPでforeachループを使う方法:初心者向けガイド
PHPのwhileループ:初心者向けガイド


スポンサーリンク

共有

もふもふ
著者
もふもふ
プログラマ。汎用系→ゲームエンジニア→Webエンジニア→QAエンジニア