do-whileциклы очень похожи на whileциклы, за исключением того, что выражение истинности проверяется в конце каждой итерации, а не в начале. Основное отличие от обычных whileциклов состоит в том, что первая итерация do-whileцикла гарантированно выполняется (истинность выражения проверяется только в конце итерации), тогда как в обычном whileцикле он может не обязательно выполняться (истинность выражения проверяется в конце итерации). начале каждой итерации, если он оценивается falseправильно с самого начала, выполнение цикла будет немедленно завершено).

Есть только один синтаксис для do-whileциклов:

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

Приведенный выше цикл будет выполняться ровно один раз, так как после первой итерации, когда проверяется выражение истинности, он оценивается как false( $i не больше 0), и выполнение цикла завершается.

Опытные пользователи C могут быть знакомы с другим использованием do-whileцикла, позволяющим останавливать выполнение в середине блоков кода, инкапсулируя их с помощью do-while(0) и используя break оператор. Следующий фрагмент кода демонстрирует это:

<?php
do {
    if ($i < 5) {
        echo "i is not big enough";
        break;
    }
    $i *= $factor;
    if ($i < $minimum_limit) {
        break;
    }
   echo "i is ok";

    /* process i */

} while (0);
?>

goto Вместо этого хака можно использовать оператора.