ProPixel

Participe do fórum, é rápido e fácil

ProPixel
ProPixel
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Ir para baixo
-Stand!
-Stand!
Membro XI
<b>Idade</b> Idade : 26
<b>Posts</b> Posts : 2679
<b>Créditos</b> Créditos : 0
<b>Respeito</b> Respeito : -16
iclos: 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! Entenda sobre PHP parte 8 Wink
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 $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 }

?>


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! Entenda sobre PHP parte 8 Smile

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.
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos