Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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
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.
Att,Dênis Fernandes
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.
Tente usar o foreach()
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/
As informações do array estão corretas?
já tentou usar um var_dump para ver se os dados estão corretos no vetor?