Php JSON解码-返回未定义的索引

Php JSON解码-返回未定义的索引,php,json,Php,Json,我正试图更熟悉JSON解码,所以我得到了以下信息: $json = '{"id":[{"tier": "SILVER"}]}'; $array = json_decode($json, true); var_dump($array["id"]['tier']); 我试图获取“层”,但它导致以下错误:注意:未定义索引:层 我试过一些方法,比如var_dump($array['tier']),var_dump($array[0]['tier'])但似乎没有任何效果,我找不到关于这方面的很多信息

我正试图更熟悉JSON解码,所以我得到了以下信息:

$json = '{"id":[{"tier": "SILVER"}]}';
$array = json_decode($json, true);
var_dump($array["id"]['tier']); 
我试图获取“层”,但它导致以下错误:
注意:未定义索引:层

我试过一些方法,比如
var_dump($array['tier'])
var_dump($array[0]['tier'])
但似乎没有任何效果,我找不到关于这方面的很多信息


通知之后
也返回
NULL
。感谢您的帮助

结果数组中的
id
键将包含一个数组的数字索引数组。 要访问,需要指定该数组中的键,在本例中为
0
,因为只有一个元素

var_dump($array["id"][0]['tier']);
如果您选择解码到对象的位置,而不是强制执行关联数组(通过在
json_decode
调用中省略
true
),您可能会发现语法更容易阅读:

$json = '{"id":[{"tier": "SILVER"}]}';
$obj = json_decode($json);

var_dump($obj->id[0]->tier); 

您需要访问数组
[“id”]
上的第一项
[0]
试试这个:

$json = '{"id":[{"tier": "SILVER"}]}';
$array = json_decode($json, true);
var_dump($array["id"][0]['tier']); 
//string(6) "SILVER"

谢谢你的解释!这完全回答了我的问题。当我可以的时候,我会记下你的答案@没问题,很高兴我能帮忙