PHP如何从JSON转换的多维数组中获取并输出name变量?
解决关联数组中访问
name字段的问题 嘿,我来帮你搞定这个数组取值的问题!
你已经通过json_decode($tmpServer, true, JSON_BIGINT_AS_STRING)把API返回的JSON转换成了关联数组(第二个参数true就是用来生成关联数组的),所以之前的两种访问方式都不对,原因如下:
- 用
json->response->name是把它当成对象来访问,但现在是数组,不能用对象的->操作符 - 用
json[0]["response"]["name"]不对,因为最外层数组是关联数组(键是error和response),不是数字索引的数组,所以不需要加[0]
正确的访问方式
直接通过关联数组的键逐层访问即可:
// 假设你已经完成JSON解析,得到$json数组 $name = $json["response"]["name"]; echo $name; // 会输出 "Jeff"
更稳妥的写法(加上错误判断)
为了避免API返回错误时出现报错,建议先检查error字段:
$json = json_decode($tmpServer, true, JSON_BIGINT_AS_STRING); // 确认没有错误再取值 if (!$json["error"]) { $playerName = $json["response"]["name"]; echo "玩家名称:" . $playerName; } else { echo "获取玩家信息失败"; }
这样就能顺利拿到你想要的name变量啦!
内容的提问来源于stack exchange,提问作者chipyzs
相关产品推荐
相关产品推荐

