Em PHP, os laços de repetição são estruturas de controle que permitem executar um bloco de código várias vezes de acordo com uma condição. Vamos aprender sobre os diferentes tipos de laços de repetição e quando utilizá-los.
Laço while
O laço while
executa um bloco de código enquanto uma condição for verdadeira. A verificação da condição ocorre antes de cada iteração. Isso é útil quando não sabemos quantas vezes o bloco será executado.
$numero = 1;
while ($numero <= 5) {
echo "Contagem: $numero\n";
$numero++;
}
O código acima irá imprimir a contagem de 1 até 5:
Contagem: 1
Contagem: 2
Contagem: 3
Contagem: 4
Contagem: 5
Uso com arrays
Um exemplo de uso do laço while
para percorrer um array:
$frutas = ["Maçã", "Banana", "Laranja"];
$indice = 0;
while ($indice < count($frutas)) {
echo "Fruta: $frutas[$indice]\n";
$indice++;
}
Este código imprime cada fruta no array:
Fruta: Maçã
Fruta: Banana
Fruta: Laranja
Laço do...while
O laço do...while
funciona de forma semelhante ao while
, mas com a diferença de que a condição é verificada após a execução do bloco. Isso garante que o bloco será executado pelo menos uma vez, independentemente da condição.
$numero = 1;
do {
echo "Contagem: $numero\n";
$numero++;
} while ($numero <= 5);
Este código imprimirá a contagem de 1 até 5, mas mesmo que a condição fosse falsa no início, o bloco ainda seria executado uma vez.
Laço for
O laço for
é ideal quando se sabe exatamente quantas vezes o bloco de código precisa ser repetido. Ele possui três partes: inicialização, condição e incremento.
for ($i = 1; $i <= 5; $i++) {
echo "Contagem: $i\n";
}
Esse código é semelhante ao while
, mas é mais compacto. Ele irá imprimir a contagem de 1 até 5.
Laço for
com arrays
Outro exemplo de uso do laço for
com arrays:
$frutas = ["Maçã", "Banana", "Laranja"];
for ($i = 0; $i < count($frutas); $i++) {
echo "Fruta: $frutas[$i]\n";
}
Este código imprime as frutas usando o laço for
:
Fruta: Maçã
Fruta: Banana
Fruta: Laranja
Laço foreach
O foreach
é ideal para percorrer arrays. Ele facilita o acesso a cada elemento de um array sem precisar controlar o índice manualmente.
$frutas = ["Maçã", "Banana", "Laranja"];
foreach ($frutas as $fruta) {
echo "Fruta: $fruta\n";
}
O código acima irá imprimir:
Fruta: Maçã
Fruta: Banana
Fruta: Laranja
Boas Práticas
- Evite laços infinitos: Certifique-se de que a condição de término do laço seja atingida.
- Use
foreach
quando possível: Para percorrer arrays, oforeach
é mais simples e direto. - Laços aninhados: Evite usar muitos laços dentro de outros, pois pode tornar o código difícil de entender e manter.
- Evite mudanças de índice dentro do laço: Modificar o índice de controle dentro de laços pode levar a comportamentos inesperados.