2016-11-05 10 views
0

Ich habe Schwierigkeiten, Daten von JSON zu erhalten.Zugriff auf Daten von JSON in PHP

Ich bin nach einer Foreach() für JSON formatierte Daten, die ich von einer API bekomme, aber ich kann es nicht zum Laufen bringen.

Hier ist mein Code:

Die player_runes $ ist die Datenbank Variable, es total gut funktioniert, ist mein Problem für jedes Array (Seiten)

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

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

echo $statplayerrunesforune0; 

} 

Hier die Daten von runeID bekommen ist JSON Daten:

{ 
"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(); lese darüber –

+0

Ich habe es bereits entschlüsselt, meine Frage ist, wie bekomme ich Zugriff auf die Daten runeId ist es wie, wie ich in der foreach getan? – ForsakenHound

+0

Überprüfen Sie meine Antwort, wenn Sie 'json_decode()' verwenden, wird es ein Array, kein Objekt. –

Antwort

0

Es sollte für Sie arbeiten:

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

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

echo $statplayerrunesforune0; 

} 

Nach der Dekodierung wird ein array kein Objekt.

+0

Funktioniert nicht, aber ich habe es bereits in ein Array entschlüsselt das Problem ist die Teile, wo ich versuche, die Daten wie -> RuneId zu bekommen. Und irgendein Grund arbeitet nicht, macht Seite schwarz. – ForsakenHound

+0

Trotzdem ist es immer besser, eine Lösung auf eigene Faust zu finden :) –

0

Versuchen Sie folgendes:

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

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

    echo $statplayerrunesforune0; 

} 

hoffe, es funktioniert :)

+0

Funktioniert nicht, aber ich habe es bereits in ein Array entschlüsselt das Problem ist die Teile, wo ich versuche, die Daten wie -> runeId zu bekommen. Und irgendein Grund arbeitet nicht, macht Seite schwarz. – ForsakenHound

+0

@ForsakenHound Verwenden Sie die Option 'true' für' json_decode'? Dann wird es zu $ ​​player_runes ['pages'] ''. – Barmar