{category}

PHP - ループ

do-while

ドゥー ワイル(制御構造

意味 後判定の繰り返し処理


do-whileとは?

do-whileは、最低1回は処理を実行し、その後で条件を判定する制御構造です。条件が真の間は繰り返し処理を続けます。whileとは異なり、必ず1回は処理が実行されるのが特徴です。

do-whileの具体的な使い方

基本的なdo-while文の例

$i = 0;
do {
    echo "現在の値: $i\n";
    $i++;
} while ($i < 3);
echo "ループ終了後の値: $i\n";

👇出力結果

現在の値: 0
現在の値: 1
現在の値: 2
ループ終了後の値: 3

この例では、まず$iの値を表示し、その後$iを1増やします。そして$iが3未満かどうかを判定し、真であれば再度ループします。条件チェックが最後に行われるため、少なくとも1回は必ずループの中身が実行されます。

ユーザー入力の検証

do {
    $input = readline("1から10までの数字を入力してください: ");
    $valid = is_numeric($input) && $input >= 1 && $input <= 10;
    if (!$valid) {
        echo "無効な入力です。1から10までの数字を入力してください。\n";
    }
} while (!$valid);
echo "有効な入力です: $input\n";

👇出力結果

1から10までの数字を入力してください: 15
無効な入力です。1から10までの数字を入力してください。
1から10までの数字を入力してください: 5
有効な入力です: 5

この例では、ユーザーから有効な入力(1から10までの数字)を得るまでループが続きます。do-whileを使用することで、最初の入力を必ず受け取り、それから検証を行うことができます。

do-whileに関するよくある質問

Q. do-whileとwhileの違いは?
A. do-whileとwhileの主な違いは、条件チェックのタイミングです。do-whileは最初に処理を1回実行してから条件をチェックするため、少なくとも1回は処理が実行されます。一方、whileは最初に条件をチェックしてから処理を実行するため、条件が最初から偽の場合、一度も処理が実行されない可能性があります。
Q. do-whileはいつ使うべき?
A. do-whileは、最低1回は処理を実行したい場合に使用します。例えば、ユーザーからの入力を受け取り、その入力が正しくない場合に再度入力を求めるような場合に適しています。最初の入力を必ず受け取り、それから条件をチェックして、必要に応じて再度入力を求めるループを作成できます。
Q. do-whileで無限ループの危険は?
A. do-whileでも無限ループの危険性はあります。ループ内で条件を適切に更新しないと、条件が常に真となり、無限ループに陥る可能性があります。これを避けるには、ループ内で必ず条件に影響を与える変数を更新するか、特定の条件下でbreakステートメントを使用してループを抜けるようにしてください。また、ループの条件をよく確認し、最終的にfalseになることを確認することも重要です。

PHPのdo-whileについても学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、PHPのdo-whileやinclude_once、case、foreach、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


PHPを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!PHPはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

include_once

ファイルを一度だけ読み込む

種類: インクルード

case

switch文内の条件式

種類: 条件分岐

foreach

配列の要素を順に処理

種類: ループ

fread()

ファイルから読み込む関数

種類: ファイル読み書き

date()

日付・時刻のフォーマット

種類: 日付時間関数