Foros del Web » Programando para Internet » PHP »

Sacar datos de un array (API Mercadolibre)

Estas en el tema de Sacar datos de un array (API Mercadolibre) en el foro de PHP en Foros del Web. Hola gente, estoy entrando al mundo de PHP, Jquery y tratando de aplicar a las API de Mercadolibre. Probando un codigo basico como este. Código: ...
  #1 (permalink)  
Antiguo 01/09/2017, 11:25
 
Fecha de Ingreso: junio-2011
Mensajes: 42
Antigüedad: 12 años, 10 meses
Puntos: 0
Pregunta Sacar datos de un array (API Mercadolibre)

Hola gente, estoy entrando al mundo de PHP, Jquery y tratando de aplicar a las API de Mercadolibre.

Probando un codigo basico como este.
Código:
<?php
require '../Meli/meli.php';
require '../configApp.php';
 
$meli = new Meli($appId, $secretKey);
 
$params = array();
 
$url = '/sites/' . $siteId;
 
$result = $meli->get($url, $params);
 
echo '<pre>';
print_r($result);
echo '</pre>';
Me tira algo así

Código:
Array
(
    [body] => stdClass Object
        (
            [id] => MLU
            [name] => Uruguay
            [country_id] => UY
            [sale_fees_mode] => not_free
            [mercadopago_version] => 3
            [default_currency_id] => UYU
            [immediate_payment] => optional
            [payment_method_ids] => Array
                (
                    [0] => MLUWC
                    [1] => MLUWT
                    [2] => MLUTC
                    [3] => MLUMO
                    [4] => MLUTT
                    [5] => MLUTS
                    [6] => MLUPP
                    [7] => MLUPO
                    [8] => MLUCK
                    [9] => MLUCD
                    [10] => MLUBC
                )
 
            [settings] => stdClass Object
                (
                    [identification_types] => Array
                        (
                            [0] => CI
                            [1] => Otro
                        )
 
                    [taxpayer_types] => Array
                        (
                        )
 
                    [identification_types_rules] =>
                )
 
            [currencies] => Array
                (
                    [0] => stdClass Object
                        (
                            [id] => USD
                            [symbol] => U$S
                        )
 
                    [1] => stdClass Object
                        (
                            [id] => UYU
                            [symbol] => $
                        )
 
                )
 
            [categories] => Array
                (
                    [0] => stdClass Object
                        (
                            [id] => MLU5725
                            [name] => Accesorios para VehÃ*culos
                        )
 
                    [1] => stdClass Object
                        (
                            [id] => MLU1403
                            [name] => Alimentos y Bebidas
                        )
 
                    [2] => stdClass Object
                        (
                            [id] => MLU1071
                            [name] => Animales y Mascotas
                        )
 
                    [3] => stdClass Object
                        (
                            [id] => MLU1367
                            [name] => Arte y Antigüedades
                        )
 
                    [4] => stdClass Object
                        (
                            [id] => MLU1743
                            [name] => Autos, Motos y Otros
                        )
 
                    [5] => stdClass Object
                        (
                            [id] => MLU1384
                            [name] => Bebés
                        )
 
                    [6] => stdClass Object
                        (
                            [id] => MLU1039
                            [name] => Cámaras y Accesorios
                        )
 
                    [7] => stdClass Object
                        (
                            [id] => MLU1051
                            [name] => Celulares y TelefonÃ*a
                        )
 
                    [8] => stdClass Object
                        (
                            [id] => MLU1798
                            [name] => Coleccionables
                        )
 
                    [9] => stdClass Object
                        (
                            [id] => MLU1648
                            [name] => Computación
                        )
 
                    [10] => stdClass Object
                        (
                            [id] => MLU1144
                            [name] => Consolas y Videojuegos
                        )
 
                    [11] => stdClass Object
                        (
                            [id] => MLU1276
                            [name] => Deportes y Fitness
                        )
 
                    [12] => stdClass Object
                        (
                            [id] => MLU5726
                            [name] => Electrodomésticos y Aires Ac.
                        )
 
                    [13] => stdClass Object
                        (
                            [id] => MLU1000
                            [name] => Electrónica, Audio y Video
                        )
 
                    [14] => stdClass Object
                        (
                            [id] => MLU208736
                            [name] => Herramientas y Construcción
                        )
 
                    [15] => stdClass Object
                        (
                            [id] => MLU1574
                            [name] => Hogar, Muebles y JardÃ*n
                        )
 
                    [16] => stdClass Object
                        (
                            [id] => MLU1499
                            [name] => Industrias y Oficinas
                        )
 
                    [17] => stdClass Object
                        (
                            [id] => MLU1459
                            [name] => Inmuebles
                        )
 
                    [18] => stdClass Object
                        (
                            [id] => MLU1182
                            [name] => Instrumentos Musicales
                        )
 
                    [19] => stdClass Object
                        (
                            [id] => MLU3937
                            [name] => Joyas y Relojes
                        )
 
                    [20] => stdClass Object
                        (
                            [id] => MLU1132
                            [name] => Juegos y Juguetes
                        )
 
                    [21] => stdClass Object
                        (
                            [id] => MLU1168
                            [name] => Música, Libros y PelÃ*culas
                        )
 
                    [22] => stdClass Object
                        (
                            [id] => MLU1430
                            [name] => Ropa, Calzados y Accesorios
                        )
 
                    [23] => stdClass Object
                        (
                            [id] => MLU1246
                            [name] => Salud y Belleza
                        )
 
                    [24] => stdClass Object
                        (
                            [id] => MLU1540
                            [name] => Servicios
                        )
 
                    [25] => stdClass Object
                        (
                            [id] => MLU1953
                            [name] => Otras categorÃ*as
                        )
 
                )
 
        )
 
    [httpCode] => 200
)
Ahora por lo que veo esta utilizando json y me devuelve ese array.
Como puedo hacer para por ejemplo sacar solo uno de los datos que muestra ahí como body id

Lo trate como un array convencional o bidimensional pero no tuve éxito.
Probe con
echo $result[0];
echo $result[id];
y nada

Gracias gente!!
  #2 (permalink)  
Antiguo 01/09/2017, 13:32
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Respuesta: Sacar datos de un array (API Mercadolibre)

Hola kapi2454,

¿Has probado así?

Código PHP:
Ver original
  1. echo $result->body->id

No estoy muy seguro pero creo que así debería mostrártelo.
  #3 (permalink)  
Antiguo 01/09/2017, 13:37
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Sacar datos de un array (API Mercadolibre)

hay dos maneras si es un JSON lo que te regresa:

Código PHP:
Ver original
  1. $var = json_decode($data, true);
  2.  
  3. echo $var['body']['id'];
  4.  
  5. //ó
  6.  
  7. $var = json_decode($data);
  8.  
  9. echo $var->body->id

prueba las dos a ver
__________________
[email protected]
HITCEL

Etiquetas: api, json, url
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:22.