Foreach no PHP. Aprenda ler arrays e outras estruturas! \| TreinaWeb               Promoção no ar   Matricule-se agora e garanta **54% de desconto**  

  Termina em   Tempo restante da oferta: 14 Horas 

 13 Min 

 27 Seg 

   Tempo restante da oferta: 14 13 27 

  [Assinar →](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26) 

   [                ](https://www.treinaweb.com.br)  Explorar  

 [ Quanto custa? ](#assinatura) [ FAQ ](https://www.treinaweb.com.br#faq) [Matricule-se](#assinatura) [ Entrar ](https://www.treinaweb.com.br/login) 

     [ Início ](https://www.treinaweb.com.br) [ Artigos ](https://www.treinaweb.com.br/blog) Foreach no PHP. Aprenda ler arrays e outras estruturas!  [ PHP ](https://www.treinaweb.com.br/blog/categoria/php) 

# 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 ](https://www.treinaweb.com.br/blog/autor/elton-fonseca) 7 anos atrás

  ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/06/foreach-no-php-aprenda-ler-arrays-e-outras-estruturas.png)  

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.

[  ![PHP - Fundamentos](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/php.svg)   Curso PHP - Fundamentos Conhecer o curso ](https://www.treinaweb.com.br/curso/php-fundamentos)

## O que é foreach

O foreach é uma estrutura de repetição da [linguagem de programação PHP](https://www.treinaweb.com.br/blog/o-que-e-php/ "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:

```php
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](https://www.treinaweb.com.br/blog/arrays-no-php-aprenda-como-declarar-e-acessar/ "array no PHP"). Vamos usar como exemplo um array com os estados da região sudeste do Brasil:

```php
$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](https://www.treinaweb.com.br/blog/arrays-no-php-aprenda-como-declarar-e-acessar/ "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:

- Propriedades de qualquer tipo de objeto
- Classes que extendem ou implementam [iterator no PHP](https://www.treinaweb.com.br/blog/iterators-no-php/ "iterator no PHP")
- Funções e métodos que utilizam [generators no PHP](https://www.treinaweb.com.br/blog/generators-no-php/ "generators no PHP")

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

```php
