PHP 从 JSON 中获取值

32 浏览
0 Comments

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`。

我该如何修复这个问题?

0
0 Comments

(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']`数组的第二个元素。

0