Es sencillo
Código PHP:
Ver original"Lista": [
{
"Nombre": "Paco",
"Apellido": "Hernandez",
"dni": {
"numero": "000000000",
"valido": "2056-06-27"
},
"gustos": [{
"deportes": {
"futbol": "Barsa",
"esgrima": "aficionado"
},
"musica": "rock",
"cine": "clasico"
}]
},
{
"Nombre": "Yolanda",
"Apellido": "Perez",
"dni": {
"numero": "000000001",
"valido": "2096-09-10"
},
"gustos": [{
"deportes": {
"futbol": "Betis",
"esgrima": "profesional"
},
"musica": "pop",
"cine": "ficcion"
}]
}]
}');
print_r($decode->Lista[0]->gustos[0]->deportes->futbol); //Barsa
Tambien puede cobvertir toda la estructura a arreglos si así lo requieres
Código PHP:
Ver original"Lista": [
{
"Nombre": "Paco",
"Apellido": "Hernandez",
"dni": {
"numero": "000000000",
"valido": "2056-06-27"
},
"gustos": [{
"deportes": {
"futbol": "Barsa",
"esgrima": "aficionado"
},
"musica": "rock",
"cine": "clasico"
}]
},
{
"Nombre": "Yolanda",
"Apellido": "Perez",
"dni": {
"numero": "000000001",
"valido": "2096-09-10"
},
"gustos": [{
"deportes": {
"futbol": "Betis",
"esgrima": "profesional"
},
"musica": "pop",
"cine": "ficcion"
}]
}]
}');
print_r($decode->Lista[0]->gustos[0]->deportes->futbol);
function objectToArray($element) {
//convertimos objeto a un arreglo
$element = (array) $element; }
//llamada recusiva
}
else {
// Regresamos el arreglo
return $element;
}
}
$decode_to_array = objectToArray($decode);
print_r($decode_to_array['Lista'][0]['gustos'][0]['deportes']['futbol']);
Ya tienes dos opciones, solo queda que implementes la lógica que requieres para tu problema