我有一些类似于以下的 JSON:
{"internalArray": {"201": "A", "202": "B", "5": "C", "46": "D"},
"data": "ABCDEFG",
"data2": "TSXPIIF"}
我使用以下 PHP 代码对其进行解码:
$jsonOutput = json_decode($output);
我想从 JSON 数据中访问“internalArray”,所以我使用以下方法引用它:
$internalArray = $jsonOutput->{'internalArray'};
当我在 $internalArray 上执行 var_dump
object(stdClass)#4 (4)
{ ["201"]=> string(1) "A"
["202"]=> string(1) "B"
["5"]=> string(1) "C"
["46"]=> string(1) "D"
}
我发现我可以把它转换成一个数组,所以我做了以下事情:
$internalArray = (array) $jsonOutput->{'internalArray'};
但是,现在我有了这个数组,我似乎无法使用像这样的值来访问它
$internalArray["202"], $internalArray["201"], etc.
当我尝试通过键访问它时,它返回 NULL。但是,当我有这样的代码时:
foreach ($internalArray as $key => $value)
{
echo $key . "," . $value;
}
它按预期打印出值,例如“202,A”等。
但是,在相同的代码中,如果我将其更改为
foreach ($internalArray as $key => $value)
{
echo $key . "," . $internalArray[$key];
}
它不起作用!
谁能解释为什么我不能使用键访问 $internalArray 中的值?我在这里做一些根本错误的事情吗?