Ver Mensaje Individual
  #11 (permalink)  
Antiguo 14/02/2016, 12:06
orcajavi
 
Fecha de Ingreso: febrero-2009
Mensajes: 44
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Relacionar dos archivos json con php

Disculpa, no quería molestar

Bueno, el archivo sala.json:
Código PHP:

  
"result" "ok"
  
"response" : { 
    
"state" "Running"
    
"name" "CampeonatosRACE.es"
    
"joinable" false
    
"max_member_count" 30
    
"now" 1453996775
    
"attributes" : { 
      
"MaxPlayers" 30
      
"Race1Length" 19
      
"SessionState" "Race",
      
"SessionTimeElapsed" 0,
      
"SessionTimeDuration" 0,
      
"TrackId" : -368740158
      
"VehicleClassId" 1646832695
      
"VehicleModelId" : -1041674971 
      

    } 


El archivo circuitos.json:
Código PHP:

  
"result" "ok"
  
"response" : { 
    
"description" "All known track ids"
    
"list" : [ 
      { 
        
"id" 328972919
        
"name" "Cadwell Club Circuit"
        
"gridsize" 20 
      
}, 
      { 
        
"id" 354022214
        
"name" "Donington Park GP"
        
"gridsize" 38 
      
}, 
      { 
        
"id" : -368740158
        
"name" "Autodromo Nazionale Monza Short"
        
"gridsize" 40 
      
}, 
      { 
        
"id" 521933422
        
"name" "Circuit de Barcelona-Catalunya GP"
        
"gridsize" 36 
      

      ] 
   } 

Y el código con las 3 líneas que me indicaste en tu mensaje:
Código PHP:
<?php 
$html_sala 
file_get_contents('sala.json');

$json_sala json_decode($html_sala); 


$html_circuito file_get_contents('circuitos.json');

$json_circuito json_decode($html_circuito); 

    
$sala $json_sala->response->name
    
$estado_sala $json_sala->response->state
    
$maximo_participantes $json_sala->response->max_member_count
     
    
$id_circuito $json_sala->response->attributes->TrackId
    
$estado_sesion $json_sala->response->attributes->SessionState
    
$duracion_sesion $json_sala->response->attributes->SessionTimeDuration
    
$tiempo_sesion_transcurrido $json_sala->response->attributes->SessionTimeElapsed

    
$nombre_circuito $json_circuito->response->list[0]->name
    
$id_circuito2 $json_circuito->response->list[0]->id

var_dump(array_filter(function($x) use ($id_circuito) {
  return 
$x->id == $id_circuito;
}, 
$response->list));
    
    echo 
'<br>';
    echo 
$nombre_circuito
    echo 
$sala.'<br>'
    echo 
$estado_sala.'<br>'
    echo 
$id_circuito.'<br>'
    echo 
$id_circuito2.'<br>'
    echo 
$nombre_circuito.'<br>'
    echo 
'Estado de la sesión: '.$estado_sesion.'<br>'
    echo 
'Duración de la sesión: '.$duracion_sesion.'<br>'
    echo 
'Tiempo transcurrido: '.$tiempo_sesion_transcurrido.'<br>';
?>
con este código, en el echo $id_circuito2 y el echo $nombre_circuito, me aparecen el id y nombre del primer array porque entiendo que le pongo list[0] en la variable y que lo que tenemos que conseguir es que ese [0] sea sustituido por el número en el que realmente se encuentra el nombre del circuito que quiero. Eso es lo que entiendo que tenemos que conseguir y lo que creo que me estás dando a entender