(PHP 4, PHP 5)
O loop do-while é muito similar ao loop
while, exceto pela expressão de verificação
que está no final de cara iteração ao invés de estar no começo.
A maio diferença para o loop normal while é
que a primeira iteração do loop do-while é
sempre executada (a expressão de verificação somente é executada no final
da iteração), considerando que no loop while não é
necessariamente executada (a expressão de verificação é
executada no começo de cada iteração, e se o resultado for
FALSE
logo no começo, a execução do loop
é abortada imediatamente).
Só há uma sintaxe para o loopdo-while:
<?php
$i = 0;
do {
echo $i;
} while ($i > 0);
?>
O loop acima será executado somente uma vez, pois após a primeira
iteração, quando a expressão de verificação for executada, ela resultará em
FALSE
($i não é maior que 0) e a execução do loop
será encerrada.
Usuário avançados de C devem estar familiarizados com um uso diferente do loop do-while, que permite parar a execução no meio do bloco de códigos, encapsulando eles em um do-while (0), e usando o break . O código a seguir demonstra isso:
<?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);
?>
Não se preocupe se você não entender isso neste momento. Você pode criar scripts simples ou mesmo poderosos sem usar esse 'recurso'. Desde o PHP 5.3.0, é possível usar o operador goto ao invés desse hack.