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.

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++;
}

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;
int area = 2 * 2;

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);
  
int area = 2 * 2;

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++;
}

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;
}

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++;
}

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