繁体   English   中英

PHP从数组JSON输出获取值

[英]php get values from array json output

当我使用以下代码时:

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);
?>

结果

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

如何获取从上到下显示列表而不是在文本集中显示的列表? 谢谢您的帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM