Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Duvida

`

$contasCorrentes = [

1234567890 => [

    'nome' => 'Rafael Paulo',
    'saldo' => 3000,
],

1234567891 =>  [

    'nome' => 'Maria',
    'saldo' => 10000
],
1234567892 =>  [

    'nome' => 'Fábio',
    'saldo' => 300
]

];

foreach($contasCorrentes as $cpf => $conta) { echo "CPF => " . $cpf . "\n" . $conta['nome'] . ", " . $conta['saldo'] . "\n\n"; }

Como faço para mostrar os dois atributos do "$cpf" pelo foreach

5 respostas

Olá Rafael,

Não entendi muito bem a dúvida, pode explicar novamente ou dar exemplos do resultado que você quer?

Dentro do foreach o $cpf não vai ter atributos, o valor dele vai ser apenas o número inicial (1234567890 e assim por diante), já a variável $conta vai sim ter os dois atributos nome e saldo. Tanto que você pode até ver que o seu código atual já funciona e mostra todos os itens: cpf, nome e saldo.

Utilizando o foreach com dois valores como foi feito ($cpf => $conta), o primeiro valor vai receber a chave do array e o segundo vai receber o valor, exemplo:

// Separando um item para analisar:

1234567890 => ['nome' => 'Rafael Paulo', 'saldo' => 3000]
|--CHAVE--|   |------------------VALOR------------------|

|---CPF---|   |------------------CONTA------------------|

Bom dia, a duvida é no sentido que com o foreach usando alguma das variáveis imprimir todos os itens, não precisando colocar $conta['nome] e $conta['saldo'] para poder imprimir. O que eu quero dizer, se tem como com uma instrução imprimir todos os atributos do array !

Bom dia Rafael, direto pelo foreach eu não vejo uma maneira legal de fazer isso, mas uma possibilidade seria utilizar um foreach dentro de um foreach, porque o que temos acesso é um número (o cpf) e um array, e para mostrar esse array interno temos que fazer algum acesso ou tratamento:

foreach($contasCorrentes as $cpf => $conta) {
    echo "CPF => " . $cpf . "\n";

    foreach($conta as $nome => $valor) {
        echo $nome ." => " . $valor . "\n";
    }
}

Mas esse não é um código "elegante", vejo a primeira alternativa com $conta['nome'] como melhor. Devido a estrutura do array $contasCorrentes fica complicado de encontrar uma solução legal, porque temos um array dentro do array e além disso ainda temos informações importante na chave do array.

solução!

Fala, Rafael.

Se sua intenção é só ver o resultado, e não exibir de forma "bonitinha", pode usar o print_r ou var_dump. Ex.:

print_r($contasCorrentes);

Assim todos os valores do array vão ser "cuspidos" pra você na tela.

Valeu pessoal !