php在for-each循环中显示API(rest)信息

php在for-each循环中显示API(rest)信息,php,api,rest,Php,Api,Rest,我已经成功地展示了暴乱游戏的API统计数据…但是这一个非常奇怪。我一辈子都不能得到参赛结果,比如联赛积分,胜利,还是新鲜血液。诸如此类 这是我从中提取的数据 {"29283170": [ { "queue": "RANKED_SOLO_5x5", "name": "Annie's Blades", "entries": [{ "leaguePoints": 52, "isFreshBlood": false, "isHotStreak": false, "division": "II", "is

我已经成功地展示了暴乱游戏的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

尝试#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'];
}
现在,通过上面的步骤,我可以得到层,它位于entries块之外。 但我无法获取任何诸如联赛积分或胜利等信息。
我已经尝试了几天了,如果有任何帮助,我将不胜感激。

您可以将其作为数组元素访问,因为使用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'];
    }
}
$myid=“29283170”;
foreach($objs[$myid]作为$val)
{ 
$league=$val['tier'];
如果(数组\键\存在('entries',$val)){
echo$val['entries'][0]['leaguePoints'];
回声“
”; echo$val['entries'][0]['wins']; } }
var_dump$response时会发生什么……这应该会显示真正的PHP结构您在一个包含1个元素的数组中有一个JSON对象(该对象是条目中唯一的元素。您应该尝试$val[0]->leaguePoints
$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'];
    }
}