Bóson Treinamentos em Ciência e Tecnologia

Curso de PHP – Estruturas de Repetição For e Foreach

Curso de PHP com MySQL - Laços 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.

 

Sair da versão mobile