Curso de PHP – Estruturas de Repetição While e Do While
Estruturas de Repetição While e Do While em PHP
Uma estrutura de repetição permite repetir um comando ou bloco de comandos diversas vezes, automaticamente, de modo a permitir que código seja reutilizado e eliminando a necessidade de reescrever diversas vezes os mesmos comandos que precisam ser repetidos.
Nesta aula vamos estudar as estruturas de repetição While e Do .. While. Nas próximas aulas vamos abordar as estruturas de repetição For e Foreach.
Estrutura de Repetição While
A estrutura de repetição while permite executar repetidas vezes um bloco de comandos enquanto uma condição testada retorna verdadeiro. Quando a condição testada retorna falso, a repetição dos comandos (chamada de loop) é encerrada e o programa segue seu fluxo normal de execução.
Sintaxe:
While (expressão_testada) { Bloco de comandos a executar }
Exemplo: Vamos criar um programa que imprima na tela os números de 1 a 20:
<?php $num = 1; while ($num <= 20) { echo "$num <br>"; $num++; } ?>
Note o uso da instrução $num++, que é usada para incrementar o valor da variável testada. Caso não utilizemos essa instrução de incremento, o valor da variável permanecerá sempre em 1 (valor inicial dela), e o programa nunca encerrará, pois a condição testada sempre retornará verdadeiro. Teremos então o famoso “loop infinito”, que é na maioria dos casos um erro de programação. Fique atento a esse detalhe!
Estrutura de Repetição Do .. While
A estrutura do .. while difere da estrutura while apenas pelo fato de que a estrutura do .. while sempre executará o bloco de comandos associado ao menos uma vez, enquanto a estrutura while executa o bloco de comandos zero ou mais vezes – se logo no primeiro teste condicional ele já retornar falso, nenhum comando é executado.
Então, caso você precise que o bloco de comandos seja executado ao menos uma vez em uma estrutura de repetição, use o comando do .. while.
Sintaxe:
do { Comandos } while (expressão_testada);
Exemplo:
<?php $num = 10; while ($num < 10) { echo "Executado pelo while: $num <br>"; $num++; } do { echo "Executado pelo do..while: $num <br>"; } while ($num < 10); ?>
Neste exemplo, ao testarmos o valor da variável $num, que vale 10, com o comando while, temos um valor falso logo de início, e portanto o bloco de comandos associado não será executado. Porém, ao testarmos a mesma variável com do .. while, o bloco de comandos é executado a primeira vez e só então a expressão será avaliada, retornando falso e interrompendo o loop.
Na próxima aula veremos as estruturas de repetição for e foreach.
Escreva um comentário