我试图更熟悉JSON解码,所以这就是我得到的:
$json = '{"id":[{"tier": "SILVER"}]}';
$array = json_decode($json, true);
var_dump($array["id"]['tier']);
我正在尝试抓取'等级,但却导致以下错误:Notice: Undefined index: tier
我尝试过某些事情,例如var_dump($array['tier']);
,var_dump($array[0]['tier']);
,但似乎没有任何效果,我找不到很多有关此事的信息。
在Notice
之后,它还会返回NULL
。任何帮助表示赞赏。
答案 0 :(得分:3)
结果数组中的id
键将包含一个数字索引的数组数组。
要访问,您需要在该数组中指定键,在本例中为0
,因为只有一个元素
var_dump($array["id"][0]['tier']);
如果您要解码到对象而不是强制关联数组(通过省略true
调用中的json_decode
),您可能会发现语法更容易阅读:
$json = '{"id":[{"tier": "SILVER"}]}';
$obj = json_decode($json);
var_dump($obj->id[0]->tier);
答案 1 :(得分:0)
您需要访问阵列[0]
上的第一项["id"]
试试这个:
$json = '{"id":[{"tier": "SILVER"}]}';
$array = json_decode($json, true);
var_dump($array["id"][0]['tier']);
//string(6) "SILVER"