Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/07/2012, 04:49
chronique
 
Fecha de Ingreso: junio-2012
Ubicación: Catalunya
Mensajes: 7
Antigüedad: 11 años, 10 meses
Puntos: 0
Dónde hago el error al consultar datos de un array con php?

Hola Buenas!

Os comento. estoy trabajando con una API a la que le solicito datos que recibo en JSON. La parte de recibirlos está correcta y de hecho muchas funciones y consultas ya las tengo realizadas.

El problema lo tengo con algunos campos que deberian ser un array de varios indices pero me llegan como objeto. Por ejemplo:

Código:
	
array([0]stdClass Object(
     [drvrs] => stdClass Object ( 
	     [1] => stdClass Object ( 
	        [id] => 1 
		[n] => JAVI
		[c] => 050 
		[ds] => Programado
		[p] => +346 
		[r] => 1.76551724138 
		[ck] => 4951 
		                    ) 
	    [2] => stdClass Object ( 
	        [id] => 2 
		[n] => PABLO 
		[c] => w 
		[ds] => descrip! 
		[p] => +34909093 
		[r] => 0 
		[ck] => 6515       
		                    ) 
....
				  )

Bien, la consulta típica si no se considera un array y sabes que hay 2 seria algo tipo así:

Código:
$datoquequiero = var[0]->drvrs->1->nm   y me devolveria JAVI.
Ahora bien, como no se el numero de usuarios que me va a devolver, tengo que modificar esa parte y convertirla a un array, así que he hecho esto:
Código:
$usuarios = (array) var[0]->drvrs;

Con lo cual, consigo convertirlo a un array y entonces hago la consulta que tocaría hacer:

Código:
$datoquequiero = $usuarios[$i]->nm.

Esto debería devolverme el valor del campo del índice $i que haya hecho (con un bucle, etc..) PERO NO ES ASI.

En cambio si hago un print_r($usuarios); si que me muestra el array.

He revisado como 20 veces todo y no se me ocurre porque fallo.

Como os comentaba, esto solo me pasa con estos que primero me vienen como objeto y yo paso a array...he trabajado con otros array y perfecto!.

A ver si me podéis ayudar al respecto, estoy desesperado