PHP 从 JSON 中获取值
PHP 从 JSON 中获取值
假设我有这个JSON:
{
"achievement": [
{
"title": "Ready for Work",
"description": "Sign up and get validated",
"xp": 50,
"difficulty": 1,
"level_req": 1
},
{
"title": "All Around Submitter",
"description": "Get one piece of textual content approved in all five areas.",
"xp": 500,
"difficulty": 2,
"level_req": 1
}
]
}
我正在通过PHP尝试这样做:
$string = file_get_contents("achievements.json"); $json_a = json_decode($string, true); $getit = $json_a["achievement"][0]["title"];
我试图获取成就的第一个"id",即`READY FOR WORK`。
我该如何修复这个问题?
(PHP从JSON中获取值)
问题原因:在使用json_decode函数时,如果将第二个参数设置为true,它将返回一个数组。因此,通过将索引从1更改为0,可以获取到"Ready for Work"项,因为在PHP中,数组是基于零索引的。
解决方法:将索引从1更改为0即可获取到"Ready for Work"项。此外,需要注意的是,在PHP中,数组的索引从0开始。
示例代码如下:
$json_a = json_decode($string, true); $getit = $json_a['achievement'][0]['title'];
感谢提供帮助的人指出了这个问题,并提醒了索引从0开始的事实。是的,1表示的是`$json_a['achievement']`数组的第二个元素。