Laços for e while
Repita código com os laços for, while e do-while.
Laços for e while é uma aula grátis de PHP Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de PHP Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de PHP Academy inclui 4 aulas no total.
Por Que Usar Laços?
Os laços permitem repetir um bloco de código sem copiá-lo e colá-lo. O PHP oferece quatro estruturas de repetição:
for— quantidade conhecida de iteraçõeswhile— controlado por uma condiçãodo-while— executa pelo menos uma vezforeach— percorre matrizes e objetos (na próxima lição)
Laço for
O laço for tem três partes: inicialização, condição e incremento:
<?php
for ($i = 0; $i < 5; $i++) {
echo $i . ' ';
}
// Output: 0 1 2 3 4Laço for com Contagem Regressiva
Você pode fazer uma contagem regressiva ou avançar em qualquer quantidade:
<?php
// Count down
for ($i = 10; $i >= 1; $i--) {
echo $i . ' ';
}
// Step by 2
for ($i = 0; $i <= 10; $i += 2) {
echo $i . ' '; // 0 2 4 6 8 10
}Laço while
Um laço while é executado enquanto sua condição for verdadeira — ela é verificada antes de cada iteração:
<?php
$n = 1;
while ($n <= 5) {
echo $n . ' ';
$n++;
}
// Output: 1 2 3 4 5Laço do-while
Um do-while sempre executa o corpo pelo menos uma vez — a condição é verificada depois:
<?php
$attempt = 0;
do {
echo 'Trying... attempt ' . ($attempt + 1) . PHP_EOL;
$attempt++;
} while ($attempt < 3 && !connectToServer());
function connectToServer(): bool { return false; }Laço Infinito e break
Um laço infinito é executado para sempre, a menos que você use break para sair dele:
<?php
$count = 0;
while (true) {
$count++;
if ($count >= 5) {
break; // exit loop
}
}
echo $count; // 5continue — Ignorar uma Iteração
continue ignora o restante da iteração atual e passa para a próxima:
<?php
for ($i = 1; $i <= 10; $i++) {
if ($i % 2 === 0) {
continue; // skip even numbers
}
echo $i . ' '; // 1 3 5 7 9
}Laços Aninhados
Os laços podem ser aninhados — isso é útil para dados bidimensionais, como grades ou tabelas:
<?php
for ($row = 1; $row <= 3; $row++) {
for ($col = 1; $col <= 3; $col++) {
echo "($row,$col) ";
}
echo PHP_EOL;
}
// (1,1) (1,2) (1,3)
// (2,1) (2,2) (2,3)
// (3,1) (3,2) (3,3)Interrompendo Laços Aninhados
Use break 2 (ou qualquer número) para sair de vários níveis de laço de uma só vez:
<?php
for ($i = 0; $i < 5; $i++) {
for ($j = 0; $j < 5; $j++) {
if ($i === 2 && $j === 2) {
break 2; // exits both loops
}
echo "$i,$j ";
}
}Dicas de Desempenho para Laços
Evite operações dispendiosas dentro das condições dos laços:
<?php
// Bad: count() called on every iteration
for ($i = 0; $i < count($arr); $i++) { /* ... */ }
// Good: calculate once
$len = count($arr);
for ($i = 0; $i < $len; $i++) { /* ... */ }
// Also fine: foreach avoids this entirely
foreach ($arr as $item) { /* ... */ }Sintaxe Alternativa de Laços
Assim como if, os laços aceitam uma sintaxe alternativa com dois-pontos para serem incorporados ao HTML:
<?php $items = ['apple', 'banana', 'cherry']; ?>
<ul>
<?php for ($i = 0; $i < count($items); $i++): ?>
<li><?= htmlspecialchars($items[$i]) ?></li>
<?php endfor; ?>
</ul>Verificação Rápida
Qual laço tem a execução do corpo garantida pelo menos uma vez?
Recapitulação: Laços for e while
Resumo dos laços:
for— melhor quando a quantidade de iterações é conhecidawhile— condição verificada antes de cada iteraçãodo-while— o corpo é executado pelo menos uma vezbreaksai de um laço;break Nsai de N níveiscontinuepassa para a próxima iteração
A seguir: foreach para percorrer matrizes.
Perguntas Frequentes
A aula “Laços for e while” é grátis?
Sim — o texto completo de “Laços for e while” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de PHP Academy, atualize para CoddyKit PRO. O curso de PHP Academy inclui 4 aulas no total.
O que vou aprender em “Laços for e while”?
Repita código com os laços for, while e do-while. Você pratica PHP Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar PHP Academy?
Nenhuma experiência prévia é necessária. PHP Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “Laços for e while”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de PHP Academy?
Sim. Cada aula de PHP Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.