不能使用 stdClass 类型的对象作为数组?

2022-08-30 05:48:31

我得到一个奇怪的错误使用.它正确地解码了数据(我看到它使用),但是当我尝试访问数组中的信息时,我得到:json_decode()print_r

Fatal error: Cannot use object of type stdClass as array in
C:\Users\Dail\software\abs.php on line 108

我只尝试做:数据返回的位置$result['context']$resultjson_decode()

如何读取此数组中的值?


答案 1

使用json_decode的第二个参数使其返回数组:

$result = json_decode($data, true);

答案 2

函数 json_decode() 默认返回一个对象。

您可以像这样访问数据:

var_dump($result->context);

如果你有这样的标识符(使用上述方法时,连字符会导致PHP错误),你必须写:from-date

var_dump($result->{'from-date'});

如果你想要一个数组,你可以做这样的事情:

$result = json_decode($json, true);

或者将对象强制转换为数组:

$result = (array) json_decode($json);

推荐