Php 显示从JSON文件获取的数组部分时遇到问题

Php 显示从JSON文件获取的数组部分时遇到问题,php,arrays,json,api,steam,Php,Arrays,Json,Api,Steam,我现在正忙于处理JSON。我必须改变变量:$a和$b $a从网站检索JSON文件: $a = file_get_contents("http://backpack.tf/api/IGetUsers/v2/?steamids=76561198037411448&format=json"); $b解码 $b = json_decode($a, true); 我在$b上做了var_转储,以确认它实际上是一个数组 我试图回显$b[“name”],但没有返回任何内容 我不知道怎

我现在正忙于处理JSON。我必须改变变量:$a和$b

$a从网站检索JSON文件:

    $a = file_get_contents("http://backpack.tf/api/IGetUsers/v2/?steamids=76561198037411448&format=json");
$b解码

    $b = json_decode($a, true);
我在$b上做了var_转储,以确认它实际上是一个数组

我试图回显$b[“name”],但没有返回任何内容


我不知道怎么了;没有返回任何内容。

您有一组多维数据,而不是$b[“name”]您需要的是:

$b["response"]["players"][0]["name"]
这是该URL中的json对象结构

{
    "response": {
        "success": 1,
        "current_time": 1369778504,
        "players": {
            "0": {
                "steamid": "76561198037411448",
                "success": 1,
                "backpack_value": 185.86,
                "backpack_update": 1369543543,
                "name": "Paranoid Android",
                "stats_tf_reputation": 1,
                "notifications": 0
            }
        }
    }
}

如果您需要迭代,将必须循环使用$b[“响应”][“玩家”]

也许您想要这样的东西?我只是猜测可能不止一个玩家

for($i = 0;$i<count($b["response"]["players"]);$i++)
{
   echo $b["response"]["players"][$i]["name"]
}

对于($i=0;$i嗯,这是返回的JSON:

{
    "response": {
        "success": 1,
        "current_time": 1369778435,
        "players": {
            "0": {
                "steamid": "76561198037411448",
                "success": 1,
                "backpack_value": 185.86,
                "backpack_update": 1369543543,
                "name": "Paranoid Android",
                "stats_tf_reputation": 1,
                "notifications": 0
            }
        }
    }
}
如果
$b=json\u decode($a)
,那么简单地使用
$b['name']
将不起作用。该键未设置

您必须遵循对象文本的嵌套。类似的操作应该可以:

echo $b['response']['players']['0']['name'];
也许gettype()会帮助您:尝试使用var_dump($b)了解变量的内容