Promoção no ar
Tempo restante da oferta:
14 Horas
13 Min
27 Seg
Assinar →

Foreach no PHP. Aprenda ler arrays e outras estruturas!

O loop foreach no PHP é uma estrutura de repetição simples e flexível! Aprenda corretamente como utilizar para percorrer arrays e outras estruturas no PHP.

Elton Fonseca 7 anos atrás

O foreach no PHP é uma estrutura de repetição extremamente flexível e simples. Nesse artigo vamos aprender como utilizá-lo para ler arrays e outros recursos, além de falar sobre a recomendação da PSR-12 para sua escrita.

Curso PHP - Fundamentos Conhecer o curso

O que é foreach

O foreach é uma estrutura de repetição da linguagem de programação PHP. Ele é usado para facilitar a iteração de estruturas como arrays, objetos e outros tipos que são iteráveis.

A sintaxe básica do foreach no PHP é a seguinte:

foreach ($coleção as $chave => $valor) {
	//disponível variáveis $chave e $valor
}

Podemos ler o código acima do seguinte modo:

para cada item (na variável $coleção, coloque o índice na variável $chave e o valor na variável $valor)

Como resultado ele percorrerá todos os itens da coleção, disponibilizando a chave e o valor de cada elemento.

Percorrendo array com foreach no PHP

Vamos agora ver como fica o foreach para ler um array no PHP. Vamos usar como exemplo um array com os estados da região sudeste do Brasil:

$estados = [
    'SP' => 'São Paulo',
    'MG' => 'Minas Gerais',
    'RJ' => 'Rio de Janeiro',
    'ES' => 'Espírito Santo'
];

foreach ($estados as $sigla => $nome) {
    echo $nome . " - " . $sigla . PHP_EOL;
}

Como resultado para o código acima teremos:

São Paulo - SP
Minas Gerais - MG
Rio de Janeiro - RJ
Espírito Santo - ES

Caso tenha dúvida de como trabalhar com arrays. Indico o artigo que ensina como declarar e acessar arrays no PHP.

Percorrendo outros recursos com loop foreach no PHP

Pouca gente sabe, mas com foreach também é possível percorrer outras estruturas e não somente arrays:

Conforme podemos ver no exemplo abaixo o uso do foreach para percorrer as propriedades do objeto da classe Estado:

<?php


class estado {
	
    public string $sigla;

    public string $nome;

    public string $regiao;

    public int $qtdHabitantes;

    public function __construct(string $sigla, string $nome, string $regiao, int $qtdHabitantes) {
        $this->sigla = $sigla;
        $this->nome = $nome;
        $this->regiao = $regiao;
        $this->qtdHabitantes = $qtdHabitantes;
    }
}

$saoPaulo = new Estado("SP", "São Paulo", "Sudeste", 44_000_000);

foreach ($saoPaulo as $propriedade => $valor) {
    echo $propriedade . " - " . $valor . PHP_EOL;
}

O resultado é:

sigla - SP
nome - São Paulo
regiao - Sudeste
qtdHabitantes - 44000000

Formação Desenvolvedor PHP Júnior Conhecer a formação

Obtendo somente o valor

Podemos utilizar uma sintaxe mais simples do loop foreach no PHP. Ela é útil quando não precisamos do valor da chave, somente o valor, por exemplo:

$estados = ['Rio Grande do Sul', 'Santa Catarina', 'Paraná'];

foreach ($estados as $estado) {
    echo $estado . PHP_EOL;
}

Um exemplo onde geralmente usamos o foreach desse modo é quando temos que percorrer o resultado de uma consulta a um banco de dados relacional.

Recomendação da PSR-12 para o loop foreach no PHP

As PSRs possuem uma série de recomendações para a linguagem de programação PHP. Uma dessas recomendações é a PSR12 que fala sobre codificação, segundo ela o loop for deve seguir as seguintes regras:

  • Obrigatório: Espaço após a palavra chave da estrutura;
  • Proibido: Espaço após o parêntese de abertura;
  • Proibido: Espaço antes do fechamento do parêntese;
  • Obrigatório: O corpo da estrutura de controle deve estar envolvido por chaves, mesmo que possua só uma instrução;
  • Obrigatório: Espaço entre o parêntese de fechamento e a abertura da tag;
  • Obrigatório: Uma identação no corpo da estrutura;
  • Obrigatório: O corpo deve estar uma linha depois da abertura da chave
  • Obrigatório: A chave de fechamento deve estar uma linha após o corpo;

Todos os exemplos que usamos no artigo estão de acordo com a PSR-12. Vale ressaltar que nunca devemos usar o foreach no PHP sem uso das {} se formos seguir a PSR12.

Curso PHP - Recursos essenciais Conhecer o curso

Considerações finais

O Loop foreach é muito simples de utilizar e flexível! Sempre que tiver que percorrer alguma estrutura na linguagem de programação PHP podemos considerar sua utilização.

Continue lendo

Artigos relacionados

Um ano de acesso total para você viver de programação.

Todos os cursos e formações da TreinaWeb numa única assinatura, com professores que atuam no mercado, suporte direto e certificados. Do primeiro console.log ao mercado de trabalho.

  • 1 ano de acesso a todos os cursos
  • Cursos novos toda semana
  • Suporte direto com professores
  • Plano de carreira personalizado
  • Certificados digitais inclusos
  • Aplicativos para Android e iOS, com acesso offline
Garantia incondicional de satisfação

Teste por 7 dias e, se não fizer sentido para você, devolvemos seu dinheiro.

Acesso completo a todos os cursos e dezenas de Formações.

12 meses
Economize R$ 840,00 54% OFF

de 12x R$ 129,00 por apenas

12x R$ 59,00

sem juros no cartão de crédito ou R$ 599,00 à vista

Oferta termina em 14h 13min 27s

  • Acesso imediato e ilimitado durante 1 ano.
  • Plano de carreira personalizado.
  • Suporte direto com professores.
  • E muito mais!
Matricule-se agora