1
resposta

[Dúvida] Não precisamos conhecer as chaves de cada item para percorrer seus valores Alternativa correta! Com isso, podemos percorrer arrays associativos sem nenhum problema. Podemos inclusive recuperar o valor de seus índices dentro do loop.

Não precisamos conhecer as chaves de cada item para percorrer seus valores

Alternativa correta! Com isso, podemos percorrer arrays associativos sem nenhum problema. Podemos inclusive recuperar o valor de seus índices dentro do loop.

NAO ENTENDI

1 resposta

Levi, mas qual foi a pergunta?

é com relação ao foreach?

o foreach vc não precisa conhecer as chaves e pode ou não recuperar a chave, veja exemplos abaixo:

<?php
echo  "Exemplo 1" . PHP_EOL;
// array sem indice associativo
$array = ['banana', 'maçã', 'uva']; 

// recuperando apenas o valor
foreach ($array as $valor) {
    echo $valor . PHP_EOL;
}

echo  PHP_EOL . "Exemplo 2" . PHP_EOL;
// array sem indice associativo
$array = ['banana', 'maçã', 'uva']; 

// recuperando chave e valor
foreach ($array as $chave => $valor) {
    echo $chave . " - " . $valor . PHP_EOL;
}

echo  PHP_EOL . "Exemplo 3" . PHP_EOL;
// array com indice associativo
$paises = [
    'Brasil' => ['São Paulo', 'Minas Gerais', 'Rio de Janeiro'], 
    'Estados Unidos' => ['Nova Iorque', 'Texas', 'Flórida'],
];

// recuperando apenas o valor
foreach ($paises as $chave => $pais) {
    echo $chave . PHP_EOL;
}

echo  PHP_EOL . "Exemplo 4" . PHP_EOL;
// array com indice associativo
$paises = [
    'Brasil' => ['São Paulo', 'Minas Gerais', 'Rio de Janeiro'],
    'Estados Unidos' => ['Nova Iorque', 'Texas', 'Flórida'],
];

// recuperando pais e estados
foreach ($paises as $pais => $estados) {
    echo $pais . PHP_EOL;
    // capturando os estados sem saber a chave
    foreach ($estados as $estado) {
        echo "   " . $estado . PHP_EOL;
    }
}

Resultado:

Exemplo 1
banana
maçã
uva

Exemplo 2
0 - banana
1 - maçã
2 - uva

Exemplo 3
Brasil
Estados Unidos

Exemplo 4
Brasil
   São Paulo
   Minas Gerais
   Rio de Janeiro
Estados Unidos
   Nova Iorque
   Texas
   Flórida