do-while Циклы do-while похожи на циклы while, за исключением того, что истинность выражения проверяется в конце каждой итерации, а не в начале. Основное отличие от стандартных циклов while состоит в том, что первая итерация цикла do-while гарантированно выполняется, поскольку истинность выражения проверяется только в конце итерации, тогда как в стандартном цикле while выполнение первой итерации необязательно, поскольку истинность выражения проверяется в начале каждой итерации, и если с са́мого начала выражение окажется ложным и примет значение &false;, выполнение цикла немедленно завершится. Единственный синтаксис цикла do-while: 0); ?> ]]> В примере цикл выполнится ровно один раз, потому что после первой итерации выражения оценивается как ложное (переменная $i не больше 0) и принимает значение &false;, а выполнение цикла завершается. Разработчики с опытом программирования на языке C при работе с циклом do-while пользуются подходом, который останавливает выполнение циклов в середине блоков кода. Для этого блок кода оборачивают конструкцией do-while (0) и указывают в блоке инструкцию break. Следующий фрагмент кода демонстрирует этот подход: ]]> Вместо этого «хака» иногда пользуются оператором goto.