Forum und email

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'.