You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP新手求助:如何从stdClass对象提取result字段并解决报错?

解决PHP中获取对象属性报错的问题

嘿,作为PHP新手遇到这种问题太正常啦,我来帮你捋清楚!

首先看你给出的var_dump输出:

object(stdClass)#58 (3) { ["jsonrpc"]=> string(3) "2.0" ["id"]=> int(1) ["result"]=> string(42) "Success" }

这里明明白白显示$data是一个stdClass对象,不是数组!你用数组的$data['result']写法去访问对象的属性,自然会抛出Illegal string offset 'result'的错误。

正确的获取方式有两种:

  • 直接访问对象属性(推荐,最简洁直观):

    $result = $data->result;
    

    PHP里对象的公共属性是用->符号来访问的,直接写属性名就行,不用加引号。

  • 转成数组后访问(如果更习惯数组操作的话):
    可以把对象强制转换成数组,再用数组下标访问:

    $dataArray = (array)$data;
    $result = $dataArray['result'];
    

    不过这种方式其实没必要,直接用对象访问更高效。

以后遇到类似问题,先看var_dump的开头:如果是object(...)就说明是对象,用->访问;如果是array(...)才是数组,用[]访问。

内容的提问来源于stack exchange,提问作者Haren Sarma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:29:25