Blog
ブログで学ぶUX

PHPのdo while文の書き方

PHPの基本的な制御構造のうち、同じ処理を繰り返す「ループ」の一種であるdo while文について説明します。

do while文はwhile文とほぼ同じ用途の構文ですが、必ず1回は実行される点が異なります。

do while文の書式

do {
    実行内容
} while (繰り返し条件);

while文の場合は、繰り返し条件が判定されtrueであれば処理が実行され。一方、do while文の場合は一度処理が実行されてから繰り返し条件が判定され、判定がtrueであればさらに処理が実行されます。

サンプルコード1
実際の動作をサンプルで確認してみましょう。

以下は、0から1ずつ加算されていくシンプルなプログラムです。

$i = 0;                 // 変数$iに0をセット
do {                    // 繰り返しの始まり
    echo $i;            // $iの内容を表示
    $i += 1;            // $iに+1
} while ($i <= 5);      // 繰り返し条件の指定<br>

実行結果1

01234

必ず1回は実行されるため、次の例でも少なくとも1回はechoが実行されます。

サンプルコード2

<?php
$i = 0;
do {
    echo $i;
    $i += 1;
} while ($i < 0);

実行結果2

 0

上記のdo while文をwhile文に書き換えると、何も表示されなくなります。

サンプルコード3

<?php
$i = 0;
while ($i <= 0) {
    echo $i;
    $i += 1;
}

実行結果3

(何も表示されない)

制御構造:break、continue

また、while文と同じく、繰り返しを終了するbreakや、繰り返しをスキップするcontinueを使うこともできます。

サンプルコード4

<?php
$i = 0;
do {
    if ($i == 2){           // $iが2なら
        $i += 1;            // $iを+1
        continue;           // 次の繰り返しを開始
    }
    else if ($i == 4) {     // $iが4なら
        break;              // 繰り返し中止
    }
    echo $i;
    $i += 1;
} while ($i < 5);

実行結果5

013

“2”と、”4″以降(”4″と”5″)はechoされません。

繰り返し(ループ)は配列などに対して同じ処理を繰り返すときに使用する構文です。do while文はwhile文と異なり、処理を実行した後の繰り返し判定になるため、少なくとも1回は本体が実行されるという点に気をつけてください。

投稿日:
カテゴリ: Web制作