Manual do PHP
Anterior | Capítulo 11. Estruturas de Controle | Próxima

# `do..while`

Loops `do..while` são bem similares aos loops `while`, exceto pelo fato de que a condição é verificada no fim de cada iteração em vez de no começo. A diferença principal dos loops `while` regulares é que a primeira iteração de um loop `do..while` é garantidamente executada (a condição só é verificada no fim da iteração) enquanto que ele pode não rodar necessariamente em um loop `while` normal (a condição é verificada no começo de cada iteração, se ela é avaliada como `FALSE` logo no começo, a execução do loop terminaria imediatamente).

Há apenas uma sintaxe para loops `do..while`:

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

O loop acima rodaria exatamente uma vez, desde que depois da primeira iteração, quando a condição é verificada, ela é avaliada como `FALSE` ($i não é maior que zero 0) e a execução do loop termina.

Usuários avançados de C podem estar familiarizados com o uso diferenciado do loop `do..while`, para permitir o fim da execução no meio dos blocos de código, englobando-os com `do..while` (0), e usando a instrução `break` . O fragmento de código a seguir demonstra isso:

`<?php do { if ($i < 5) { echo "i não é grande o suficiente"; break; } $i *= $factor; if ($i < $minimum_limit) { break; } echo "i está Ok"; /* process i */ } while (0); ?>`

Não se preocupe se você não entendeu isto da forma certa ou de jeito nenhum. Você pode codificar scripts simples ou mesmo poderosos sem usar esse 'recurso'.

Anterior | Principal | Próxima
`while` | Acima | `for`