PHP: Ciclos: While e FOR

Até agora temos visto como utilizamos alguns comandos simples. Mas, diversas vezes, ao logo da programação de uma aplicação web, temos de repetir as mesmas funções diversas vezes. Por exemplo, quando dei o exemplo da lista de compras do Ze e da Maria, essa lista tinha 4 produtos. Esses 4 produtos fora escritos utilizando 4 linhas com o comando “echo”. Agora imaginamos uma lista de compras com 100 produtos, e temos uma dor de cabeça! 😉
Nestes casos, não se pensa duas vezes, e pegamos num dos ciclos que podemos implementar: o While ou o FOR.
Estes dois ciclos são muito idênticos, visto que se pode sempre converter um ciclo WHILE, num ciclo FOR, e vice versa. A decisão de utilizar um ou outro, é apenas tomada pela pessoa que os implementa, e tem a ver com a
simplicidade com que depois consegue interpretar um ou outro. Existem situações onde um WHILE aplica-se com mais facilidade, outras em que um FOR arrasa com tudo. =) Ambos serão explicados separadamente.
While!
Quer dizer “Enquanto”. A sua sintaxe é a seguinte:
while(condição)
{
//bloco de código
}
Ou seja, enquanto a condição se verificar, executa determinado código.
Exemplo de um ciclo WHILE:
<?
$numero=1;
while ($numero<=10)
{
echo “Número: $numero <br>”;
$numero++;
}
?>
Este código inicia a variável $numero com o valor 1. Seguidamente entra dentro de um ciclo WHILE, que executa um bloco de código, enquanto a variável $numero for inferior ou igual a 10. No bloco, temos um output que nos vai indicar qual o valor da variável, e logo a seguir, temos o incremento de uma unidade da variável $numero. O resultado da execução do script é a seguinte:
Número: 1
Número: 2
Número: 3
Número: 4
Número: 5
Número: 6
Número: 7
Número: 8
Número: 9
Número: 10
Enquanto a condição tiver o valor VERDADEIRO, o bloco de código do While é executado.
FOR
O ciclo for, tem uma particularidade em relação ao WHILE. Enquanto um While a variável de contagem, e a instrução de incremento, quando existem, são declaradas em pontos diferentes do código, o ciclo FOR junta essas
declarações no mesmo local onde define a condição. Sintaxe de um FOR:
for (declaração de variáveis; condição de execução; incrementos de variáveis)
{
//bloco de código a executar
}
Na primeira zona declaramos as variáveis (normalmente os contadores ou índices); na segunda zona indicamos as condições de execução do ciclo for: enquanto essas condições tiverem o valor VERDADEIRO, o ciclo é realizado; na
3 zona, é onde vamos indicar os incrementos das variáveis/contadores.
Utilizando o exemplo do WHILE, vamos construir um FOR:
<?
for ($numero=1; $numero<=10; $numero++)
{
echo “Número: $numero <br>”;
}
?>
O resultado deste ciclo é exactamente igual ao do WHILE. Neste tipo de ciclo, onde iniciamos uma variável, e incrementamos essa mesma variável para control do ciclo, o FOR tem vantagem na sua implementação.
Exercício 6.1:
Cria um array $meses (usando a função”array()”) com os nomes dos meses do ano.
Utiliza ambos os ciclos While e FOR (separadamente) para escrever os 12 meses.
Exercício 6.2:
Com base no Exercício 3 (p4.txt) usa um ciclo While para escrever os produtos do Ze, e um FOR para escrever os produtos da Maria. Nota: Deves respeitar o código de cores dos produtos de ambos os estafetas.
Nota: Este exercícioé de alguma dificuldade. É possível que requeira de algum tempo e prática, para conseguires implementa-lo correctamente. Se conseguires completar o exercício sem qualquer ajuda.. é porque estas a
dominar bem isto! 🙂
Resumo:
Utilizamos ciclos sempre que temos linhas de código repetidas. Usar um ciclo WHILE ou FOR depende da situação de implementação, e da forma como achamos ser mais simples a sua compreensão.