PHP将JSON数据解析为变量

时间:2014-06-16 20:06:21

标签: php arrays json

好吧,我一直在这个网站上搜索一些简单的帮助。 这里的很多例子都包含在代码中,很难理解 实现我自己的代码。

我需要遍历每个游戏的统计数据并通过变量显示信息。 现在我可以自己做所有事情,我似乎无法找到愿意为每个循环找到的东西 显示我的信息

我目前的代码:

$ch2 = curl_init(); 
// set url 
curl_setopt($ch2, CURLOPT_URL, "https://na.api.pvp.net/api/lol/na/v1.3/stats/by-summoner/" . $myid . "/ranked?season=SEASON4&api_key=(REMOVED)"); 
//return the transfer as a string 
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, 1); 
// $output contains the output string 
$response2 = curl_exec($ch2); 
// close curl resource to free up system resources 
curl_close($ch2);
$obj = json_decode($response2, true);
foreach ($obj as $val) {
echo "<b>" . $val['stats']['totalDeathsPerSession'] . "</b><br>";
echo "<b>" . $val['stats']['totalDamageTaken'] . "</b><br>";
echo "<b>" . $val['stats']['totalChampionKills'] . "</b><br>";
echo "<b>" . $val['stats']['totalDeathsPerSession'] . "</b><br>";
}

这里是JSON数据

{
"modifyDate": 1402869729000,
"champions": [
{
"id": 40,
"stats": {
"totalDeathsPerSession": 5,
"totalSessionsPlayed": 1,
"totalDamageTaken": 17488,
"totalQuadraKills": 0,
"totalTripleKills": 0,
"totalMinionKills": 15,
"maxChampionsKilled": 0,
"totalDoubleKills": 0,
"totalPhysicalDamageDealt": 6183,
"totalChampionKills": 0,
"totalAssists": 12,
"mostChampionKillsPerSession": 0,
"totalDamageDealt": 21580,
"totalFirstBlood": 0,
}
},
{
"id": 42,
"stats": {
"totalDeathsPerSession": 6,
"totalSessionsPlayed": 1,
"totalDamageTaken": 10626,
"totalQuadraKills": 0,
"totalTripleKills": 0,
"totalMinionKills": 29,
"maxChampionsKilled": 1,
"totalDoubleKills": 0,
"totalPhysicalDamageDealt": 11166,
"totalChampionKills": 1,
}
],
"summonerId": 29283170
}

它一直在继续,我不想在这里泛滥整个日志。 我只是想抓住一些像Total Minion Kills这样的数据 总死亡,杀死..但它一直是我尝试的一切空白。 在来到这里之前,我尝试了很多不同的方法。我真的希望你能帮忙!

1 个答案:

答案 0 :(得分:0)

应该是:

foreach ($obj['champions'] as $val) {
相关问题