PHP: While e Do While

Este documento apresenta as estruturas de repetição while e do while, recursos que possibilitam executar trechos de código repetidamente com base em uma expressão booleana.

Estruturas de repetição são recursos que permitem executar trechos de código mais de uma vez de acordo com uma condição. O PHP possui quatro estruturas de repetição: for, foreach, while e do-while.

Neste documento apresentamos as estruturas de repetição while e do-while.


Tópicos


While

O while é a estrutura de repetição mais simples do PHP. Com ele informamos que um bloco de código deve ser repetido enquanto a condição declarada for verdadeira.

Sintaxe do while:


while (condição) {
    // bloco de código
} 
    

A sintaxe é composta por uma expressão, validada antes de cada iteração do loop, e pelo bloco de código a ser executado, declarado entre chaves ´{ }´. Se a expressão retornar falso, o loop não é executado.

Exemplo de uso:


$i = 1;
while ($i <= 10) {
    echo $i;
    $i++;
}
    
Run

Ao executar este código serão impressos os números de 1 a 10.

Nota: O while pode ser declarado sem as chaves, desde que possua dentro dele apenas uma linha de código. No entanto, recomenda-se o uso das chaves mesmo nestas ocasiões, visando manter uma boa legibilidade do código.

Em PHP também podemos declarar o while utilizando a sintaxe alternativa, com “dois pontos” e endwhile.

Exemplo de uso:


$i = 1;
while ($i <= 10):
    echo $i;
    $i++;
endwhile;
    
Run

Do-While

O loop do-while tem comportamento parecido com o while, diferenciando-se somente na validação do loop, que é feita no final de cada iteração.

Sintaxe do do-while:


do {
    //bloco de código
} while (condição);
      

Devido a essa característica, normalmente utilizamos essa estrutura de repetição quando desejamos que o bloco de código declarado no loop seja executado pelo menos uma vez.

Exemplo de uso:


$i = 1;
do {
    echo $i;
    $i++;
} while ($i < 11);
      
Run

Break

Podemos utilizar nas estruturas de repetição um comando para finalizar um loop caso seja necessário, o comando break. Com ele é possível interromper a execução do loop a qualquer momento.


$i = 0;
while (true) {
    if ($i == 5) {
        break;
    }
    echo $i;
    $i++;
}
Run

Ao executar este código o loop declarado dentro do while será processado até que a condição criada para chamar o break seja verdadeira; neste caso, i ser igual a 5. O resultado será a impressão dos valores de 0 a 4.

Continue

Além do break, também podemos utilizar nas estruturas de repetição um comando que permite avançar para a próxima iteração do loop, o continue. Com ele conseguimos interromper a execução de uma iteração sem finalizar o loop inteiro.

Exemplo de uso:


$i = 0;
while($i < 10){
    $i++;
    if($i % 2 == 0){
        continue;
    }
    echo $i;
}
    
Run

Ao executar este código serão impressos os números ímpares entre 0 e 10.

Exemplo prático

Suponha que você precisa apresentar ao usuário os valores inteiros entre dois números. Para programar esse código, podemos utilizar a estrutura de repetição while.

Exemplo de uso:


$minimo = 10;
$maximo = 30;
$numero = $minimo + 1;

while ( $numero < $maximo) {
    echo $numero;
    $numero++;
}
    
Run

Ao executar este código serão impressos os números entre 10 e 30.

Artigos relacionados