php从数组json输出中获取值

php从数组json输出中获取值,php,json,Php,Json,当我使用下面的代码时: print_r($jsoni); $badge_url = "http://api.steampowered.com/ISteamUserStats/GetGlobalAchievementPercentagesForApp/v0002/?gameid=841370%3Fkey&steamids=76561198108211948&fbclid=IwAR0B4wUlosbqFElHBJw-AkLwb3mGsv42xKdtrEAarDmD97Ur3Aprr

当我使用下面的代码时:

print_r($jsoni);

$badge_url = "http://api.steampowered.com/ISteamUserStats/GetGlobalAchievementPercentagesForApp/v0002/?gameid=841370%3Fkey&steamids=76561198108211948&fbclid=IwAR0B4wUlosbqFElHBJw-AkLwb3mGsv42xKdtrEAarDmD97Ur3AprrkW4tCk";

$jsoni = json_decode(file_get_contents($badge_url), true);
因此,我得出以下结论:

Array
(
    [achievementpercentages] => Array
    (
        [achievements] => Array
        (
            [0] => Array
            (
                [name] => GAME_GREEN_LIGHT
                [percent] => 70.9000015259
)

[1] => Array
(
    [name] => CAREER_EARN_BADGE
    [percent] => 62.2999992371
)

如何获取它,使其仅显示名称和百分比?

您可以循环解码数据,以创建一个关联数组,将成就名称作为键,百分比作为值:

print_r($jsoni['achievementpercentages']['achievements'])
$achievements = [];
foreach($jsoni['achievementpercentages']['achievements'] as $achievement)
    $achievements[$achievement['name']] = $achievement['percent'];
哪些产出:

Array
(
    [GAME_GREEN_LIGHT] => 70.9000015259,
    [CAREER_EARN_BADGE] => 62.2999992371
)

因此,我现在使用以下代码

<?php 
        $achievements = [];
        foreach($jsoni['achievementpercentages']['achievements'] as $achievement)
        $achievements[$achievement['name']] = $achievement['percent'];

        print_r($achievements);
?>
如何让它从上到下显示列表,而不是在文本集群中显示?
谢谢你的帮助

我认为这是一个简单的解码,使stdClass!欢迎请注意,这是非常基本的PHP。
Array ( [GAME_GREEN_LIGHT] => 70.9000015259 [CAREER_EARN_BADGE] => 62.2999992371