php在每个循环中显示API (rest)信息


php displaying API (rest) info in a for each loop

我已经成功地显示了Riot游戏的API统计数据…但是这个很奇怪。我这辈子都没法把结果写进条目里,比如联赛积分、胜率、新鲜血液。诸如此类的东西

这是我搜集的数据。

{"29283170": [
{
"queue": "RANKED_SOLO_5x5",
"name": "Annie's Blades",
"entries": [{
"leaguePoints": 52,
"isFreshBlood": false,
"isHotStreak": false,
"division": "II",
"isInactive": false,
"isVeteran": false,
"playerOrTeamName": "Cleland",
"playerOrTeamId": "29283170",
"wins": 5
}],
"tier": "BRONZE"
},
{
"queue": "RANKED_TEAM_3x3",
"name": "Blitzcrank's Avengers",
"tier": "CHALLENGER"
}
]}

我可以得到这层,没问题。我已经尝试了许多不同的方法下面是一些我尝试过的(这只是FOR EACH循环)

尝试# 1

$objs = json_decode($response3, true);
foreach ($objs['entries'] as $val)
{
$league=$val['tier'];
$pts=$val['leaguePoints'];
$wins=$val['wins'];
}

# 2*注意$myid是我的英雄联盟玩家id A.K.A

{"29283170": [

这很有趣。

$objs = json_decode($response3, true);
foreach ($objs[$myid] as $val)
{
$league=$val['tier'];
$pts=$val['entries']['leaguePoints'];
$wins=$val['entries']['wins'];
}

现在使用上面的代码,我可以获得位于条目块之外的层。但我无法获取联赛积分或胜利等任何信息。我已经试了好几天了,如果有任何帮助,我将不胜感激。

您可以将其作为数组元素访问,如json_decode(),以true作为最后一个参数,返回关联数组,您可以:

$myid = "29283170";
foreach ($objs[$myid] as $val)
{ 
    $league=$val['tier'];
    if(array_key_exists('entries', $val)) {
        echo $val['entries'][0]['leaguePoints'];
        echo "<br />";
        echo $val['entries'][0]['wins'];
    }
}