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:
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:$datoquequiero = var[0]->drvrs->1->nm y me devolveria JAVI.
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