PHP: Estruturas de repetição For e Foreach
Nesta documentação apresentamos as estruturas de repetição For e Foreach no PHP, recursos que possibilitam executar trechos de código repetidamente.
Estruturas de repetição são recursos que permitem executar mais de uma vez trechos de código de acordo com uma condição. O PHP possui quatro estruturas de repetição: for, foreach, while e do-while.
Neste documento apresentamos as estruturas de repetição for e foreach.
Confira todos os nossos Cursos de PHP
Tópicos
For
O for é a estrutura de repetição do PHP que utilizamos quando sabemos a quantidade de repetições que devem ser executadas.
Sintaxe do for:
for (expressão 1; expressão 2; expressão 3) {
// bloco de código
}
A sintaxe é composta por três expressões separadas por ponto e vírgula, cada uma delas podendo ter zero, uma ou mais declarações separadas por vírgula:
- Expressão 1: Executada somente uma vez, ao iniciar o loop. Normalmente a utilizamos para declarar e inicializar as variáveis que faremos uso para controlar o número de iterações do loop;
- Expressão 2: Expressão booleana, validada antes de cada iteração do loop. Se a expressão contiver múltiplas expressões, todas serão executadas, mas somente o resultado da última será considerado. Se a expressão for vazia, ela será interpretada como verdadeira. O loop somente será executado enquanto essa expressão retornar true;
- Expressão 3: Executada ao final de cada iteração, normalmente a utilizamos para declarar a forma de atualização do valor da variável avaliada na expressão 2.
Exemplo de uso:
for ($i=0; $i < 10; $i++) {
echo $i."<br>";
}
Ao executar este código serão impressos os números de 0 a 9.
Nota: O for pode ser declarado sem um bloco de código, colocando as ações dentro da terceira expressão. Ademais, caso haja apenas uma linha a ser executada, as chaves são opcionais. No entanto, recomenda-se o uso delas mesmo nestas ocasiões, visando manter uma boa legibilidade do código.
Em PHP, também podemos declarar o for utilizando a sintaxe alternativa, com “dois pontos” e endfor.
Exemplo de uso:
for ($i = 0; $i < 10; $i++):
echo $i."<br>";
endfor;
Foreach
O foreach é uma simplificação do operador FOR para se trabalhar em coleções de dados, ou seja, vetores e matrizes. Ele permite acessar cada elemento individualmente iterando sobre toda a coleção e sem a necessidade de informação de índices.
Por exemplo, supondo que fosse preciso percorrer um vetor com alguns elementos com o FOR. Seria necessário utilizar um contador para servir também de índice para acessar cada elemento, conforme a listagem a seguir.
$vetor = array(1, 2, 3, 4, 5);
for($i = 0; $i < 5; $i++)
{
$item = $vetor[$i];
echo $item;
}
Esse código poderia ser simplificado com a utilização do operador FOREACH, cuja sintaxe é mostrada abaixo.
foreach(vetor as variável)
{
//variável representa um elemento do vetor a cada iteração
}
Então, reescrevendo o código da Listagem 12, teríamos:
$vetor = array(1, 2, 3, 4, 5);
foreach($vetor as $item)
{
echo $item;
}
Assim, a cada iteração (repetição) a variável $item representa um elemento do vetor.
Break
As estruturas de repetição possuem um comando para finalizar um loop caso seja necessário, o comando break. Com ele podemos interromper a execução de um loop a qualquer momento.
Exemplo de uso:
$pararLoop = 9;
for($numero = 0; ; $numero++){
if($numero == $pararLoop){
break;
}
echo $numero."<br>";
}
Ao executar este código o loop declarado dentro do for será processado até que a condição criada para chamar o break seja verdadeira; neste caso, numero ser igual a pararLoop. O resultado será a impressão dos valores de 0 a 8.
Continue
Além do break, podemos declarar a palavra reservada continue em uma estrutura de repetição. Quando executada, os comandos subsequentes do bloco de código serão desconsiderados e uma nova iteração iniciada.
Exemplo de uso:
for($i = 0; $i < 10; $i++){
if($i % 2 == 0){
continue;
}
echo $i."<br>";
}
Ao executar este código serão impressos os números ímpares entre 0 e 10. Para não imprimir os números pares, utilizamos o continue, que pulará para a próxima iteração do loop toda vez que o resto da divisão do valor de i por 2 for igual a 0.
Exemplo prático
Suponha que você precisa apresentar ao usuário o total da soma dos valores de uma coleção de números. Para programar esse código, podemos utilizar a estrutura de repetição for.
Exemplo de uso:
$colecao = [1, 3, 6, 9, 13];
$soma = 0;
for($i = 0, $j = count($colecao); $i < $j; $i++){
$soma += $colecao[$i];
}
echo $soma;
Note que na expressão 1 do for declaramos e inicializamos duas variáveis (i e j) utilizando a vírgula para separar esses códigos. Ao executar esta implementação será impresso o resultado da soma dos números da coleção: 32.
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo