PHP从JSON获取价值

tes*_*est 2 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
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在通过PHP尝试这个:

$string = file_get_contents("achievements.json");
$json_a=json_decode($string,true);

$getit = $json_a->achievement['title'][1];
Run Code Online (Sandbox Code Playgroud)

我正在努力获得成就的第一个"身份"......这将是READY FOR WORK.

我该如何解决?

xda*_*azz 9

当您将第二个参数设置为json_decodeto时true,它将返回一个数组.

$json_a=json_decode($string,true);
Run Code Online (Sandbox Code Playgroud)

返回一个数组.

$getit = $json_a['achievement'][1]['title'];
Run Code Online (Sandbox Code Playgroud)

  • 并将索引从1更改为零以获取Ready for Work项目.毕竟,PHP中的数组是基于零的索引. (3认同)