0Pricing
PHP Academy · Aula

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ções
  • while — controlado por uma condição
  • do-while — executa pelo menos uma vez
  • foreach — 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 4

Laç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 5

Laç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; // 5

continue — 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 é conhecida
  • while — condição verificada antes de cada iteração
  • do-while — o corpo é executado pelo menos uma vez
  • break sai de um laço; break N sai de N níveis
  • continue passa 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.

Todas as aulas deste curso

  1. if, elseif e else
  2. Instruções switch e match
  3. Laços for e while
  4. foreach e controle de laços
← Voltar para PHP Academy