PHP - ドゥ...ウィルループ:ビギナーズガイド

ようこそ、熱心なコーダーさんたち!今日は、PHPのループの楽しい世界に飛び込みます。特に、ドゥ...ウィルループについてです。あなたの近所の親切なコンピュータ教師として、私は多くの例と説明を用いてこの概念をガイドします。まずは、仮想のメモ pad を準備して、ループを始めましょう!

PHP - Do…While Loop

ドゥ...ウィルループとは?

例に進む前に、ドゥ...ウィルループとは何かを理解しましょう。想象して、あなたはサイコロを振り続けて6を得るまでのゲームをしているとします。少なくとも1回はサイコロを振るでしょう、間違いないですよね?这正是ドゥ...ウィルループの動作です!

ドゥ...ウィルループは、ブロックコードを少なくとも1回実行した後、条件が真であるかどうかをチェックします。条件が真の場合、ブロックは繰り返し実行されます。条件が偽になるまで続けます。

さあ、構文を見てみましょう:

do {
// 実行するコード
} while (条件);

例1:基本的なドゥ...ウィルループ

簡単な例から始めましょう:

<?php
$i = 1;
do {
echo "The number is: $i <br>";
$i++;
} while ($i <= 5);
?>

ここで何が起きているのか?

  1. 変数 $i を1で初期化します。
  2. ループは do から始まり、現在の $i の値を echo します。
  3. $i を1増やします。
  4. 閉じ括弧の後には while 条件があります。$i が5以下かどうかをチェックします。
  5. 条件が真の場合、ループは続きます。偽の場合、停止します。

出力:

The number is: 1
The number is: 2
The number is: 3
The number is: 4
The number is: 5

例2:ユーザー入力を使用したドゥ...ウィルループ

もっとインタラクティブにしましょう!シンプルな当てものゲームを作成します:

<?php
$secretNumber = 7;
do {
$guess = (int)readline("Guess the number (between 1 and 10): ");
if ($guess < $secretNumber) {
echo "Too low! Try again.\n";
} elseif ($guess > $secretNumber) {
echo "Too high! Try again.\n";
}
} while ($guess != $secretNumber);

echo "Congratulations! You guessed it right!";
?>

この例では:

  1. シークレットな数字(この場合は7)を設定します。
  2. ループはユーザーに数字を当てるように求めます。
  3. 当てが低すぎる場合や高すぎる場合にフィードバックを提供します。
  4. 正しい数字が当てられるまでループが続きます。

これは、ドゥ...ウィルループが入力の検証やシンプルなゲーム作成にどのように使えるかを示しています!

例3:ファイル読み取りにおけるドゥ...ウィルループ

もう少し実用的な例を見てみましょう - ファイルから行を読み取る:

<?php
$file = fopen("sample.txt", "r");

do {
$line = fgets($file);
if ($line !== false) {
echo $line . "<br>";
}
} while ($line !== false);

fclose($file);
?>

ここで何が起きているのか:

  1. "sample.txt" というファイルを読み取りモードで開きます。
  2. ループはファイルから一行読み取ります。
  3. 行が偽でない場合(つまり、ファイルの終わりではない場合)、それを echo します。
  4. ファイルの終わりに達するまでループが続きます。
  5. 最後に、ファイルを閉じます。

この例は、ドゥ...ウィルループがファイル操作にどのように使えるかを示しています!

デクリメントするドゥ...ウィルループ

さあ、ドゥ...ウィルループを使って後退カウントダウンを试试みましょう:

<?php
$countdown = 5;

do {
echo "T-minus $countdown...<br>";
$countdown--;
} while ($countdown > 0);

echo "Blast off! ?";
?>

この宇宙のカウントダウンでは:

  1. $countdown を5に設定します。
  2. ループは現在のカウントダウン番号を表示します。
  3. $countdown を1減らします。
  4. $countdown が0より大きい間、ループが続きます。
  5. 0に達すると、blast off!

出力:

T-minus 5...
T-minus 4...
T-minus 3...
T-minus 2...
T-minus 1...
Blast off! ?

文字列を反対方向に進める

さあ、創造的に文字列を反対方向に進めるドゥ...ウィルループを使ってみましょう:

<?php
$str = "Hello, World!";
$length = strlen($str) - 1;

do {
echo $str[$length];
$length--;
} while ($length >= 0);
?>

ここで何が起きているのか?

  1. "Hello, World!" という文字列を始めます。
  2. 文字列の最後のインデックス(長さ - 1)を取得します。
  3. ループは末尾から各文字を表示します。
  4. インデックスを1ずつ減らします。
  5. 最初の文字を表示するまでループが続きます。

出力:

!dlroW ,olleH

ネストされたドゥ...ウィルループ

最後に、楽しいパターンを作るためにネストされたドゥ...ウィルループを見てみましょう:

<?php
$i = 1;
do {
$j = 1;
do {
echo "* ";
$j++;
} while ($j <= $i);
echo "<br>";
$i++;
} while ($i <= 5);
?>

これはどうなるのか:

  1. 外側のループは行数(5回)を制御します。
  2. 内側のループは各行に星を表示します。
  3. 各行の星の数は行番号に等しいです。
  4. <br> を使って各行の後ろに改行を追加します。

出力:

*
* *
* * *
* * * *
* * * * *

メソッド表

以下は、私たちが例で使用したメソッドの表です:

メソッド 説明
echo 一つまたは複数の文字列を出力します
readline ユーザー入力から一行を読み取ります
fopen ファイルまたはURLを開きます
fgets ファイルポインタから一行を取得します
fclose 開いているファイルポインタを閉じます
strlen 文字列の長さを返します

そして、それで終わりです、皆さん!私たちはPHPのドゥ...ウィルループの内外をループしました。練習が完璧を生むことを忘れないでください、 coding とこれらのループを試行錯誤を続けてください。間もなく、あなたはコードの挑戦をループで克服するでしょう!ハッピーコーディング!??

Credits: Image by storyset