Mulambo 1 Denunciar post Postado Outubro 6, 2014 Olá amigos!Estou tentando ler um array dentro de um loop while, porém só consigo obter o primeiro resultado. Alguém pode me ajudar? não consigo saber como mover o ponteiro do array.eis meu código $last_xml = simplexml_load_file($user_url); //Carrega o xml em um array $counter = 0; // Inicia o contador do loop while($counter != $width*$length && $counter < 37 ){ $imgurl = $last_xml->topalbums->album[$counter]->image[3]; //OBS: $counter no array $counter++; //incrementa contador } Já tentei de tudo, só consigo pegar o resultado do primeiro array, ou seja $last_xml->topalbums->album[0]->image[3];Será quem alguém sabe o que se passa? att,Dênis Fernandes Compartilhar este post Link para o post Compartilhar em outros sites
marcelobbt 7 Denunciar post Postado Outubro 6, 2014 As informações do array estão corretas? já tentou usar um var_dump para ver se os dados estão corretos no vetor? Compartilhar este post Link para o post Compartilhar em outros sites
Mulambo 1 Denunciar post Postado Outubro 6, 2014 Olá, obrigado pela atenção!Usando var_dump na variável retorna o seguinte dado: object(SimpleXMLElement)#6 (1) { ["@attributes"]=> array(1) { ["size"]=> string(10) "extralarge" } } Já do segundo array no loop até o final retorna NULL Abaixo está o link do xml que estou trabalhando. Basicamente preciso pegar a url das imagens "extralarge" de cada album. http://ws.audioscrobbler.com/2.0/?method=user.gettopalbums&user=mulambo80s&period=overall&api_key=990bffa4bfec47d7e826740f266d3e75Att,Dênis Fernandes Compartilhar este post Link para o post Compartilhar em outros sites
marcelobbt 7 Denunciar post Postado Outubro 6, 2014 Se olhar o seu array, você tem um valor dentro do outro. Por acaso não transformou numa matriz ao invés de um vetor simples? Se não, ao que parece, só tem um valor nesse vetor, por isso não está aparecendo mais nada. Compartilhar este post Link para o post Compartilhar em outros sites
paulinhosupriano 103 Denunciar post Postado Outubro 6, 2014 Tente usar o foreach() Compartilhar este post Link para o post Compartilhar em outros sites
Mulambo 1 Denunciar post Postado Outubro 8, 2014 Olá amigos, Obrigado pela atenção de todos, o problema foi resolvido. Eu estava tentando utilizar o array como um objeto, então a solução foi transformar o array em objeto logo após puxar os dados do xml. o código fica assim então: $last_xml = simplexml_load_file($user_url); //Carrega o xml em um array $last_xmlObj = (object) $last_xml; //SOLUÇÃO Transforma aqui o array em objeto $counter = 0; // Inicia o contador do loop while($counter != $width*$length && $counter < 37 ){ $imgurl = $last_xmlObj->topalbums->album[$counter]->image[3]; //OBS: $counter no array $counter++; //incrementa contador } ps: deixo aqui uma dica dessa ferramenta que me ajudou a visualizar melhor meu array :http://phillihp.com/toolz/php-array-beautifier/ Compartilhar este post Link para o post Compartilhar em outros sites