PHP: Laço for
Os laços permitem que você execute o mesmo código repetidamente. Os laços while e do…while, são uteis para um propósito geral, e os mais especializados como o for, é útil quando você deseja executar o mesmo código um número conhecido de vezes.
Este artigo explica como o PHP trabalha com o laço for, e mostra alguns exemplos do laço.
Sintaxe do laço for
O loop for tem a seguinte sintaxe geral:
for ( expression1; expression2; expression3 ){
// Este código executa enquanto expression2 for verdadeira
}
// Este código executa depois que o laço for finalizado
Você pode ver que os laços for são mais complexos que o laço while. Considerando que um laço whiletem uma expressão entre parênteses, e o for tem 3 expressões separadas por ponto-e-vírgula.
Veja como funciona o laço for:
1. A primeira execução do laço, o PHP avalia a expression1. Esta expressão é conhecida como ainicializador, e normalmente é usada para configurar uma variável de contador para o laço.
2. No início de cada iteração do laço, a expression2 é testada. Se for true, o laço continua e o código dentro das chaves ({}) é executado. Se for false, ele deixa de executar o laço, e parte para o código que estiver depois do fechamento da chave. A expression2 é conhecida como teste do laço e tem a mesma finalidade que a única expressão do while.
3. Após cada iteração, o PHP avalia o expression3. Essa expressão é conhecida como expressão de cálculo e normalmente é usada para alterar a variável do contador.
Alguns exemplos do laço for
Os laços for são principalmente usados para executar um bloco de código um número conhecido de vezes. Aqui temos um exemplo simples:
for ( $i = 1; $i <= 5; $i++ ) {
echo "Contando $i...<br />";
}
echo "Terminado!";
Quando o código é executado, exibe o seguinte:
Você pode ver como as três expressões do laço for, tornam mais fácil criar e incrementar a variável do contador, por ser um laço que executa um número conhecido de vezes.
Você não precisa apenas incrementar, como mostra os seguintes exemplos:
// Contado de 5 a 1
for ( $i = 5; $i >= 1; $i-- ) {
echo "$i...<br />";
}
echo "Terminado!<br /><br />";
// Multiplicando por 2 até 40
for ( $num = 1; $num < 40; $num *= 2 ) {
echo "$num...<br />";
}
echo "Terminado!<br />";
O código acima exibe o seguinte:
Um exemplo real: gerar senhas
Digamos que você queria gerar uma senha de 8 caracteres aleatórios para um usuário. Um laço for é perfeito aqui, pois você sabe de antemão quantas vezes o laço será executado (8 vezes no caso):
$password = "";
for ( $i = 0; $i < 8; $i++ ) {
$password .= chr ( rand ( 0, 25 ) + 97 );
}
echo "Seu novo password é : $password";
Ele exibe algo como:
Expressões do laço for são opcionais
É importante ressaltar que cada uma das três expressões do laço for é opcional. (Se você não colocar a expressão de teste do laço, então o padrão é true, fazendo um laço infinito). Um exemplo:
$num1 = 1;
$num2 = 5;
for ( ; $num1 <= $num2; $num1++ ) {
echo "$num1...<br />";
}
echo "Terminado!<br /><br />";
Resultado:
Aqui temos um laço for infinito (que vai ser executado para sempre a menos que você o pare de outra forma):
for ( ; ; ){
// Este código executa infinitamente
}
Agora você viu como o PHP trabalha com laços. Você aprendeu a sintaxe do laço for, viu alguns exemplos e explorou algumas expressões opcionais do laço for.
Fonte: http://www.treinaweb.com.br/ler-artigo/19/php:-laco-for