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.
Curso relacionado: Curso de PHP Básico
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++;
}
Ao executar este código serão impressos os números de 1 a 10.
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;
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);
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.