2.3 KiB
title | localeTitle |
---|---|
For Loop | Para loop |
Para loop
O PHP for
instrução consiste em três expressões e uma instrução:
for ((initialization); (condition); (final-expression)) statement
Descrição
- inicialização
- Corra antes da primeira execução no loop.
- Esta expressão é comumente usada para criar contadores.
- As variáveis criadas aqui estão no escopo do loop. Uma vez que o loop tenha terminado, a execução é destruída.
- condição
- Expressão que é verificada antes da execução de cada iteração.
- Se omitido, esta expressão será avaliada como
true
.
- expressão final
- Expressão executada após cada iteração.
- Geralmente usado para incrementar um contador.
- Mas pode ser usado para executar qualquer expressão.
- declaração
- Código a ser repetido em cada iteração de loop.
Qualquer uma dessas três expressões ou a declaração pode ser omitida.
As expressões podem conter várias expressões separadas por vírgula.
Na expressão (condição), todas as expressões separadas por vírgulas serão avaliadas.
O resultado é obtido a partir do último.
For loops são comumente usados para contar um certo número de iterações para repetir uma instrução.
Armadilhas Comuns
Ultrapassando os limites de um array
Ao indexar em um array muitas vezes é fácil exceder os limites do array (ex. Tentar referenciar o 4º elemento de um array de 3 elementos).
// This will cause an error.
// The bounds of the array will be exceeded.
$arr = array(1,2,3);
for ($i = 0; $i <= count($arr); $i++) {
var_dump($arr[$i]);
}
Isto irá produzir:
int(1) int(2) int(3) NULL
Existem maneiras de corrigir esse código.
Defina a condição como $i < count($arr)
ou $i <= count($arr) - 1
.
Problemas de desempenho
O código acima pode ficar lento, porque o tamanho da matriz é buscado em cada iteração.
Para corrigir esse problema, é possível colocar o tamanho da matriz em uma variável.
//create the $size variable with a second expression comma separated
for ($i = 0, $size = count($arr); $i < $size; ++$i) {