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.

 

Sobre Fábio dos Reis (1195 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 30 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Ciência e Tecnologia em geral, adora Viagens e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.

Escreva um comentário

Seu e-mail não será divulgado


*