2016-11-05 3 views
0

JSON에서 데이터를 가져 오는 데 문제가 있습니다.PHP의 JSON에서 데이터 액세스

json 형식의 데이터에 대해 foreach()를 수행 한 후 API에서 가져 왔지만 제대로 작동하지 않습니다. 내 문제는 (페이지) 여기

foreach($player_runes->pages as $statplayerrunesfor){ 

$statplayerrunesforune0 = $statplayerrunesfor->slots->runeId; 

echo $statplayerrunesforune0; 

} 

는 각 배열에 대한 runeID의 데이터를 받고,

$ player_runes가 완전히 잘 작동, 데이터베이스 변수입니다 : 여기

내 코드입니다 JSON 데이터 :

{ 
"29161162": { 
"summonerId": 29161162, 
"pages": [ 
    { 
    "id": 24193964, 
    "name": "nida", 
    "current": false, 
    "slots": [ 
     { 
     "runeSlotId": 1, 
     "runeId": 5273 
     }, 
     { 
     "runeSlotId": 2, 
     "runeId": 5273 
     }, 
     { 
     "runeSlotId": 3, 
     "runeId": 5273 
     }, 
     { 
     "runeSlotId": 4, 
     "runeId": 5273 
     }, 
     { 
     "runeSlotId": 5, 
     "runeId": 5273 
     }, 
     { 
     "runeSlotId": 6, 
     "runeId": 5273 
     }, 
     { 
     "runeSlotId": 7, 
     "runeId": 5273 
     }, 
     { 
     "runeSlotId": 8, 
     "runeId": 5273 
     }, 
     { 
     "runeSlotId": 9, 
     "runeId": 5273 
     }, 
     { 
     "runeSlotId": 10, 
     "runeId": 5317 
     }, 
     { 
     "runeSlotId": 11, 
     "runeId": 5317 
     }, 
     { 
     "runeSlotId": 12, 
     "runeId": 5317 
     }, 
     { 
     "runeSlotId": 13, 
     "runeId": 5317 
     }, 
     { 
     "runeSlotId": 14, 
     "runeId": 5317 
     }, 
     { 
     "runeSlotId": 15, 
     "runeId": 5317 
     }, 
     { 
     "runeSlotId": 16, 
     "runeId": 5317 
     }, 
     { 
     "runeSlotId": 17, 
     "runeId": 5317 
     }, 
     { 
     "runeSlotId": 18, 
     "runeId": 5317 
     }, 
     { 
     "runeSlotId": 19, 
     "runeId": 5297 
     }, 
     { 
     "runeSlotId": 20, 
     "runeId": 5297 
     }, 
     { 
     "runeSlotId": 21, 
     "runeId": 5297 
     }, 
     { 
     "runeSlotId": 22, 
     "runeId": 5289 
     }, 
     { 
     "runeSlotId": 23, 
     "runeId": 5289 
     }, 
     { 
     "runeSlotId": 24, 
     "runeId": 5289 
     }, 
     { 
     "runeSlotId": 25, 
     "runeId": 5289 
     }, 
     { 
     "runeSlotId": 26, 
     "runeId": 5289 
     }, 
     { 
     "runeSlotId": 27, 
     "runeId": 5289 
     }, 
     { 
     "runeSlotId": 28, 
     "runeId": 5357 
     }, 
     { 
     "runeSlotId": 29, 
     "runeId": 5357 
     }, 
     { 
     "runeSlotId": 30, 
     "runeId": 5357 
     } 
    ] 
    }, 
    { 
    "id": 24193965, 
    "name": "adc", 
    "current": false, 
    "slots": [ 
     { 
     "runeSlotId": 1, 
     "runeId": 5245 
     }, 
     { 
     "runeSlotId": 2, 
     "runeId": 5245 
     }, 
     { 
     "runeSlotId": 3, 
     "runeId": 5245 
     }, 
     { 
     "runeSlotId": 4, 
     "runeId": 5245 
     }, 
     { 
     "runeSlotId": 5, 
     "runeId": 5245 
     }, 
     { 
     "runeSlotId": 6, 
     "runeId": 5245 
     }, 
     { 
     "runeSlotId": 7, 
     "runeId": 5245 
     }, 
     { 
     "runeSlotId": 8, 
     "runeId": 5245 
     }, 
     { 
     "runeSlotId": 9, 
     "runeId": 5245 
     }, 
     { 
     "runeSlotId": 10, 
     "runeId": 5317 
     }, 
     { 
     "runeSlotId": 11, 
     "runeId": 5317 
     }, 
     { 
     "runeSlotId": 12, 
     "runeId": 5317 
     }, 
     { 
     "runeSlotId": 13, 
     "runeId": 5317 
     }, 
     { 
     "runeSlotId": 14, 
     "runeId": 5317 
     }, 
     { 
     "runeSlotId": 15, 
     "runeId": 5317 
     }, 
     { 
     "runeSlotId": 16, 
     "runeId": 5317 
     }, 
     { 
     "runeSlotId": 17, 
     "runeId": 5317 
     }, 
     { 
     "runeSlotId": 18, 
     "runeId": 5317 
     }, 
     { 
     "runeSlotId": 19, 
     "runeId": 5289 
     }, 
     { 
     "runeSlotId": 20, 
     "runeId": 5289 
     }, 
     { 
     "runeSlotId": 21, 
     "runeId": 5289 
     }, 
     { 
     "runeSlotId": 22, 
     "runeId": 5289 
     }, 
     { 
     "runeSlotId": 23, 
     "runeId": 5289 
     }, 
     { 
     "runeSlotId": 24, 
     "runeId": 5289 
     }, 
     { 
     "runeSlotId": 25, 
     "runeId": 5289 
     }, 
     { 
     "runeSlotId": 26, 
     "runeId": 5289 
     }, 
     { 
     "runeSlotId": 27, 
     "runeId": 5289 
     }, 
     { 
     "runeSlotId": 28, 
     "runeId": 5337 
     }, 
     { 
     "runeSlotId": 29, 
     "runeId": 5337 
     }, 
     { 
     "runeSlotId": 30, 
     "runeId": 5337 
     } 
    ] 
    }, 
    { 
    "id": 60148113, 
    "name": "zed", 
    "current": false, 
    "slots": [ 
     { 
     "runeSlotId": 1, 
     "runeId": 5253 
     }, 
     { 
     "runeSlotId": 2, 
     "runeId": 5253 
     }, 
     { 
     "runeSlotId": 3, 
     "runeId": 5253 
     }, 
     { 
     "runeSlotId": 4, 
     "runeId": 5253 
     }, 
     { 
     "runeSlotId": 5, 
     "runeId": 5253 
     }, 
     { 
     "runeSlotId": 6, 
     "runeId": 5253 
     }, 
     { 
     "runeSlotId": 7, 
     "runeId": 5253 
     }, 
     { 
     "runeSlotId": 8, 
     "runeId": 5245 
     }, 
     { 
     "runeSlotId": 9, 
     "runeId": 5245 
     }, 
     { 
     "runeSlotId": 10, 
     "runeId": 5317 
     }, 
     { 
     "runeSlotId": 11, 
     "runeId": 5317 
     }, 
     { 
     "runeSlotId": 12, 
     "runeId": 5317 
     }, 
     { 
     "runeSlotId": 13, 
     "runeId": 5317 
     }, 
     { 
     "runeSlotId": 14, 
     "runeId": 5317 
     }, 
     { 
     "runeSlotId": 15, 
     "runeId": 5317 
     }, 
     { 
     "runeSlotId": 16, 
     "runeId": 5317 
     }, 
     { 
     "runeSlotId": 17, 
     "runeId": 5317 
     }, 
     { 
     "runeSlotId": 18, 
     "runeId": 5317 
     }, 
     { 
     "runeSlotId": 19, 
     "runeId": 5289 
     }, 
     { 
     "runeSlotId": 20, 
     "runeId": 5289 
     }, 
     { 
     "runeSlotId": 21, 
     "runeId": 5289 
     }, 
     { 
     "runeSlotId": 22, 
     "runeId": 5289 
     }, 
     { 
     "runeSlotId": 23, 
     "runeId": 5289 
     }, 
     { 
     "runeSlotId": 24, 
     "runeId": 5289 
     }, 
     { 
     "runeSlotId": 25, 
     "runeId": 5289 
     }, 
     { 
     "runeSlotId": 26, 
     "runeId": 5289 
     }, 
     { 
     "runeSlotId": 27, 
     "runeId": 5289 
     }, 
     { 
     "runeSlotId": 28, 
     "runeId": 5345 
     }, 
     { 
     "runeSlotId": 29, 
     "runeId": 5345 
     }, 
     { 
     "runeSlotId": 30, 
     "runeId": 5335 
     } 
    ] 
    }, 
    { 
    "id": 60148114, 
    "name": "one", 
    "current": true, 
    "slots": [ 
     { 
     "runeSlotId": 1, 
     "runeId": 5253 
     }, 
     { 
     "runeSlotId": 2, 
     "runeId": 5253 
     }, 
     { 
     "runeSlotId": 3, 
     "runeId": 5253 
     }, 
     { 
     "runeSlotId": 4, 
     "runeId": 5253 
     }, 
     { 
     "runeSlotId": 5, 
     "runeId": 5253 
     }, 
     { 
     "runeSlotId": 6, 
     "runeId": 5253 
     }, 
     { 
     "runeSlotId": 7, 
     "runeId": 5253 
     }, 
     { 
     "runeSlotId": 8, 
     "runeId": 5253 
     }, 
     { 
     "runeSlotId": 9, 
     "runeId": 5253 
     }, 
     { 
     "runeSlotId": 10, 
     "runeId": 5317 
     }, 
     { 
     "runeSlotId": 11, 
     "runeId": 5317 
     }, 
     { 
     "runeSlotId": 12, 
     "runeId": 5317 
     }, 
     { 
     "runeSlotId": 13, 
     "runeId": 5317 
     }, 
     { 
     "runeSlotId": 14, 
     "runeId": 5317 
     }, 
     { 
     "runeSlotId": 15, 
     "runeId": 5317 
     }, 
     { 
     "runeSlotId": 16, 
     "runeId": 5317 
     }, 
     { 
     "runeSlotId": 17, 
     "runeId": 5317 
     }, 
     { 
     "runeSlotId": 18, 
     "runeId": 5317 
     }, 
     { 
     "runeSlotId": 19, 
     "runeId": 5289 
     }, 
     { 
     "runeSlotId": 20, 
     "runeId": 5289 
     }, 
     { 
     "runeSlotId": 21, 
     "runeId": 5289 
     }, 
     { 
     "runeSlotId": 22, 
     "runeId": 5289 
     }, 
     { 
     "runeSlotId": 23, 
     "runeId": 5289 
     }, 
     { 
     "runeSlotId": 24, 
     "runeId": 5289 
     }, 
     { 
     "runeSlotId": 25, 
     "runeId": 5289 
     }, 
     { 
     "runeSlotId": 26, 
     "runeId": 5289 
     }, 
     { 
     "runeSlotId": 27, 
     "runeId": 5289 
     }, 
     { 
     "runeSlotId": 28, 
     "runeId": 5335 
     }, 
     { 
     "runeSlotId": 29, 
     "runeId": 5335 
     }, 
     { 
     "runeSlotId": 30, 
     "runeId": 5335 
     } 
    ] 
    } 
] 
} 
} 
+0

json_decode 희망); 그것에 대해 읽어보십시오 –

+0

난 이미 해독 해 봤어, 내 질문은 어떻게 데이터를 액세스 할 수 있나요? 내가 foreach에서했던 것처럼? – ForsakenHound

+0

제 대답을 확인하십시오.'json_decode()'를 사용하면 객체가 아닌 배열이됩니다. –

답변

0

그것은 당신을 위해 일해야합니다

$player_runes = json_decode($variable_with_json, true); 
foreach($player_runes['pages'] as $statplayerrunesfor){ 

$statplayerrunesforune0 = $statplayerrunesfor['slots']['runeId']; 

echo $statplayerrunesforune0; 

} 

디코딩 후 객체가 아닌 array이됩니다.

+0

작동하지 않지만 이미 배열로 디코딩했습니다. 문제는 -> runeId와 같은 데이터를 얻는 부분입니다. 그리고 일하는 이유가 페이지를 검게 만듭니다. – ForsakenHound

+0

어쨌든 항상 자신에게 해결책을 찾아내는 것이 더 좋습니다. –

0

이 시도 :

foreach(json_decode($player_runes->pages) as $statplayerrunesfor){ 

    $statplayerrunesforune0 = $statplayerrunesfor->{'slots'}->{'runeId'}; 

    echo $statplayerrunesforune0; 

} 

이 (작동 :)

+0

작동하지 않지만 이미 배열에 문제가있는 부분을 해독했습니다. -> runeId와 같은 데이터를 얻으려고합니다. 그리고 일하는 이유가 페이지를 검게 만듭니다. – ForsakenHound

+0

@ForsakenHound''json_decode'에'true' 옵션을 사용하고 있습니까? 그러면 $ player_runes [ 'pages']'가됩니다. – Barmar