Fazer download da Apostila de PHP Completa
Laço FOR: O que é e Como Usar
Nos tutoriais sobre os laços WHILE e DO WHILE, fizemos duas coisas em comum:Inicializamos alguma variável
Modificamos essa variável dentro do escopo do laço
Essa variável é chamada de controle, e geralmente usamos a $count e é ela que vai no teste condicional. Isso é necessário para uma hora o looping terminar, algo tem que ser feito nessa variável, para ela ter um fim e chegar até onde desejamos.
Ou seja, temos uma pré condição (inicilizar), um teste condicional e uma pós condição (geralmente incrementar, decrementar ou fazer alguma mudança do tipo na variável de controle).
Pois bem, o laço FOR faz tudo isso de uma vez só, na declaração de uso do looping, facilitando e deixando nosso código muito mais simples e organizado.
Veja como usar o laço FOR em PHP
<?php for( inicializa ; teste_condicional ; modifica){ codigo; codigo; } ?>O laço for é o mais poderoso, mas também o mais complexo de usar, pois ele tem três expressões:
- Primeira: expressão de inicialização, ocorre antes ao inicializar o FOR, só uma vez
- Segunda: expressão condicional, teste para saber se o looping deve continuar a ocorrer ou não
- Terceira: expressão de modificação, após cada iteração do laço, essa expressão é executada
Separamos essas três expressões por ponto e vírgula ;
Vamos ver alguns exemplos para aprendermos na prática como usar o laço FOR.
Exemplo de uso de Laço FOR
No script abaixo, vamos contar de 1 até 10 e exibir essa contagem em uma página HTML<html> <head> <title>Apostila PHP Progressivo</title> </head> <body> <?php for($count=1 ; $count<=10 ; $count++) echo "$count <br />"; ?> </body> </html>Note como ficou mais conciso. Tudo dentro de uma declaração do laço.
Exemplo de uso de Laço FOR
Agora vamos fazer o contrário, contar de 10 até 1:<html> <head> <title>Apostila PHP Progressivo</title> </head> <body> <?php for($count=10 ; $count>=1 ; $count--) echo "$count <br />"; ?> </body> </html>A única diferença é que inicializamos do 10 e decrementamos a variável de controle, para que possa se atingir o teste para este se tornar falso e encerrar o FOR. Bem mais simples, não?
Exemplo de uso de Laço FOR
O script abaixo vai usar duas variáveis, $i e $j, inicialmente 1 e incrementadas ao final de cada iteração.Vamos exibir o resultado da soma enquanto ele for menor que 10:
<html> <head> <title>Apostila PHP Progressivo</title> </head> <body> <?php for($i=1, $j=1 ; $i+$j<=10 ; $i++,$j++) echo "$i + $j = ".($i+$j)."<br />"; ?> </body> </html>Veja que é possível inicializar e modificar várias variáveis ao mesmo tempo, basta separar por vírgulas.
Exemplo de uso de Laço FOR
Faça um script PHP que imprima a seguinte tabela, usando laço FOR:1 10
2 9
3 8
4 7
5 6
6 5
7 4
8 3
9 2
10 1
É bem simples resolver usando duas variáveis, uma inicializada em 1 e outra em 10.
A cada iteração, a primeira é incrementada em 1 e a segunda decrementada em 2, veja:
<html> <head> <title>Apostila PHP Progressivo</title> </head> <body> <?php for($i=1, $j=10; $i<=10 ; $i++,$j--) echo $i.' '.$j.'<br />'; ?> </body> </html>O teste que usamos foi a primeira ser menor ou igual a 10.
Reescreva esse script, mas com o teste envolvendo a segunda variável apenas.