选择嵌套的stdClass对象

时间:2014-01-31 10:54:17

标签: php json

嗨我想知道是否有可能抓住:

这是我目前的代码:

    <?php
         include('php-riot-api.php');
         $region = 'euw';
         $grab_id = 19631093;
         $instance = new riotapi($region);
         $grab_dataB = $instance->getStats($grab_id);
         $decode_dataB = json_decode($grab_dataB);
         $grab_tier = $decode_data->{'aggregatedStats[7].Unranked[wins]'};

         print_r($decode_dataB);
?>

这是我的结果: http://2v2.lolnode.com/testing.phphttp://pastebin.com/DrJDnuaC

我希望能够获得Unranked [wins]的编号结果([aggregatedStats] => stdClass Object ( ))[7])

1 个答案:

答案 0 :(得分:0)

你可以直接得到:

$grab_tier = $decode_dataB->playerStatSummaries[7]->wins;

但你肯定不知道第8个键是你想要的那个,还是......

您可以循环搜索结果:

$unranked = '';
foreach($decode_dataB->playerStatSummaries as $summary){
    if($summary->playerStatSummaryType == 'Unranked'){
        $unranked = $summary;
        break;
    }
}

print_r($unranked);

并获取值,例如$unranked->wins

你可以json_decode使用2'nd参数true(对象转换为数组)并像普通数组一样循环。

$decode_dataB = json_decode($grab_dataB, true);