2016-11-05 14 views
0

JSONからデータを取得するのが難しいです。PHPでJSONからデータにアクセスする

私はAPIから取得したjson形式のデータに対してforeach()を行った後に動作しますが、それを動作させることはできません。ここで

は私のコードです:

$ player_runesデータベース変数である、それは私の問題は、各アレイのruneIDのデータを取得している、完全に正常に動作します(ページ)

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

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

echo $statplayerrunesforune0; 

} 

ここにあります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でやったようにそれはruneIdのデータへのアクセスを取得するのですか? – 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

関連する問題