Curso de PHP – Estruturas de Repetição For e Foreach
Estruturas de Repetição For e Foreach em PHP
Na aula passada estudamos as estruturas de repetição While e Do..While em PHP. Vamos agora abordar o uso das estruturas de repetição For (laço for) e Foreach.
A estrutura for realiza a repetição do bloco de comandos de forma mais refinada do que as estruturas while, permitindo que o desenvolvedor programe a estrutura para que efetue o loop um número pré-definido de vezes, e além disso também permite que se escolha um valor de incremento diferente na própria declaração da estrutura, sem a necessidade de implementar esses parâmetros dentro do bloco de códigos.
Sintaxe:
for (var_controle; teste_variável; incremento) { Bloco de comandos }
Onde:
Var_controle é uma variável que possui um valor inicial, o qual será avaliado apenas uma vez. É o ponto de partida da contagem de loops a serem realizados. Geralmente inicializamos essa variável dentro da própria estrutura do for.
Teste_variável é um teste a ser realizado a cada iteração do loop, e caso retorne falso, o loop é encerrado. Geralmente é um valor limite para a variável de controle, o qual ao ser atingido após incrementos ou decrementos sucessivos, encerra o loop.
Incremento é o valor que deve ser adicionado ou subtrtaído da variável de controle para que ela, após um número determinado de iterações, possa atingir o valor limite que é testado no parâmetro teste_variável.
Vamos a um exemplo. Queremos imprimir na tela os números de 1 a 15, um em cada linha:
<?php for ($num = 1; $num <=15; $num++) { print ("$num <br>"); } ?>
Note que nesse caso não precisamos declarar e atribuir a variável antes de usar a estrutura for (claro que podemos fazê-lo se necessário!). O comando print() será executado 15 vezes, pois a variável $num é inicializada com 1 e é incrementada de 1 em 1 até chegar em 15.
Exemplo 02: Vamos escrever um script que mostre no navegador todos os números pares entre 1 e 100, usando laço for e uma constante.
<?php define("LIMITE", 100); for ($num = 1; $num <= LIMITE; $num++) { if ($num % 2 == 0) { echo $num."<br>"; } } ?>
Estrutura de Repetição Foreach
A estrutura foreach nos permite realizar uma varredura completa em um array, retornando seus valores e / ou chaves ou executando operações sobre esses valores. Há duas sintaxes disponíveis para esse comando:
Sintaxe 1: Retornar apenas os valores do array:
foreach (array as variável) { Comandos }
Sintaxe 2: Retornar os valores e suas respectivas chaves:
foreach (array as variável-chave => variável-valor) { Comandos }
Vamos a alguns exemplos:
Exemplo 01: Criamos um array simples e visualizamos seu conteúdo com o comando foreach:
<?php // criando um array para testes: $vetor = array("SP","RJ","PE","AM","GO","SC"); // Visualizando o conteúdo do array: foreach($vetor as $valores){ print("$valores <br/>"); } ?>
Exemplo 02: Vamos criar outro array e visualizar seus valores e chaves com o comando foreach:
<?php // criando um array para testes: $vetor = array("SP" => "São Paulo","RJ" => "Rio de Janeiro","PE" => "Recife", "AM" => "Manaus","GO" => "Goiânia","SC" => "Florianópolis"); // Visualizando o conteúdo do array e suas chaves: foreach ($vetor as $estado => $capital) { print("A capital de $estado é $capital <br/>"); } ?>
Veja o resultado abaixo:
Se o array passado para o comando foreach for multidimensional, o conteúdo retornado também será um array. Veremos como tratar esse caso ao estudarmos mais a fundo os arrays em PHP.
Escreva um comentário