为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
沧海一幻觉 2019-09-18 19:36:58
我使用了一个奇怪的错误json_decode()。它正确解码数据(我看到它使用print_r),但当我尝试访问数组内的信息时,我得到:Fatal error: Cannot use object of type stdClass as array inC:\Users\Dail\software\abs.php on line 108我只是想做:返回的数据$result['context']在哪里$resultjson_decode()如何读取此数组中的值?
查看完整描述

3 回答

?
潇湘沐

TA贡献1816条经验 获得超6个赞

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


$result = json_decode($data, true);


查看完整回答
反对 回复 2019-09-18
?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

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


您可以像这样访问数据:


var_dump($result->context);

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


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

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


$result = json_decode($json, true);

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


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


查看完整回答
反对 回复 2019-09-18
?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

您必须使用它来访问它,->因为它是一个对象。


更改您的代码:


$result['context'];

至:


$result->context;


查看完整回答
反对 回复 2019-09-18
  • 3 回答
  • 0 关注
  • 619 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信