Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Renato Augusto

[Resolvido] Criar array com foreach

Recommended Posts

Acredito que essa seja uma dúvida básica, porém quem não pergunta não evolui.

 

Tenho uma função que pega dados de um XML e imprime na tela. Mas quero que ela retorne um array com os mesmos dados que ele imprime na tela.

 

 

// isso funciona para imprimir na tela

   	
[...]
$xml = simplexml_load_string($dados);

	foreach($xml->arquivos as $arquivo){

		echo $arquivos->nome;
		echo $arquivos->tamanho;

	}
[...]

 

mas se eu fizer isso aqui para retornar o array, somente o ultimo elemento é retornado :(

 

	foreach($xml->arquivos as $arquivo){

$arr = array('nome' => $arquivos->nome);
   	}

 

como fazer o array retornar tudo certinho?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente o seguinte:

 $lista = array();
 foreach($xml->arquivos as $arquivo){
    $lista[] = $arquivo;
 }

Compartilhar este post


Link para o post
Compartilhar em outros sites

o seu exemplo:

$arr = array('nome' => $arquivos->nome);

 

se o loop der a 1ª volta, $arr vai ser o nome_1

se o loop der a 2ª volta, $arr vai ser o nome_2

se o loop der a 3ª volta, $arr vai ser o nome_3

pq você esta sempre iniciando a variavel $arr

 

usando $lista[], você esta atribuindo um indice em cada volta do loop

$lista[ 1 ], $lista[ 2 ], $lista[ 3 ]...

 

você poderia fazer $arr .= array('nome' => $arquivos->nome);

mas recomendo $lista[]

 

 

deu pra entender?

Compartilhar este post


Link para o post
Compartilhar em outros sites

o seu exemplo:

$arr = array('nome' => $arquivos->nome);

 

se o loop der a 1ª volta, $arr vai ser o nome_1

se o loop der a 2ª volta, $arr vai ser o nome_2

se o loop der a 3ª volta, $arr vai ser o nome_3

pq você esta sempre iniciando a variavel $arr

 

usando $lista[], você esta atribuindo um indice em cada volta do loop

$lista[ 1 ], $lista[ 2 ], $lista[ 3 ]...

 

você poderia fazer $arr .= array('nome' => $arquivos->nome);

mas recomendo $lista[]

 

 

deu pra entender?

 

Perfeitamente amigo! muito obrigado pela resposta

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.