Como funciona o do-while no PHP
O do-while
é uma estrutura de repetição no PHP que executa um bloco de código pelo menos uma vez, independentemente da condição. Somente após a primeira execução a condição é avaliada para decidir se o loop continuará.
Sintaxe básica do do-while
A estrutura do do-while
segue este formato:
<?php
$contador = 1;
do {
echo "Número: $contador <br>";
$contador++;
} while ($contador <= 5);
?>
Neste exemplo, o bloco de código será executado primeiro e, só depois, a condição $contador <= 5
será verificada. Caso seja verdadeira, o loop continua, incrementando $contador
a cada repetição.
Diferença entre while e do-while
A principal diferença entre while
e do-while
é:
- O
while
verifica a condição antes de executar o código. - O
do-while
executa o código pelo menos uma vez antes de verificar a condição.
Veja o exemplo abaixo onde a condição já inicia falsa:
<?php
$numero = 10;
while ($numero < 5) {
echo "Este código nunca será executado.";
}
do {
echo "Este código será executado pelo menos uma vez.";
} while ($numero < 5);
?>
No while
, nada será impresso pois a condição já é falsa no início. No do-while
, a mensagem será impressa ao menos uma vez, mesmo que a condição já esteja inválida.
Quando utilizar do-while no PHP?
O do-while
pode ser muito útil quando se deseja garantir que um bloco de código seja executado ao menos uma vez antes da verificação da condição. Um bom exemplo é a solicitação de entrada do usuário: o programa pode pedir que um usuário insira um valor antes de verificar se ele é válido. Assim, o do-while
é frequentemente utilizado para validações de entrada e repetições controladas por eventos externos.
Algumas aplicações:
- Geração de menus interativos onde o usuário deve fornecer entrada
- Execução de loops onde a primeira iteração deve acontecer independentemente da condição
- Validação de entrada do usuário antes de checar requisitos
- Implementação de processos que precisam rodar pelo menos uma vez
Dicas para quem está começando
- Use
do-while
quando precisar que o código execute pelo menos uma vez. - Sempre garanta que a condição de saída será atendida para evitar loops infinitos.
- Se o número de repetições for conhecido, prefira
for
ouwhile
. - Depure loops usando
echo
ouvar_dump()
para monitorar valores da variável de controle. - Evite
do-while
em situações onde não seja necessário executar o bloco ao menos uma vez.
Contribuições de Daniel Moreira