【问题标题】:Cant access object vars无法访问对象变量
【发布时间】:2013-09-30 18:30:45
【问题描述】:

我知道我会对此一票投反对票,但我并不懒惰。我合法地尝试在不提出问题的情况下找出这一点。

 var_dump($vtest);

object(Vocation)#58 (5) {
 ["attributes"]=>
 array(11) {
 ["id"]=>
 string(3) "623"
["resource_id"]=>
string(4) "6111"
["dry_van"]=>
string(1) "1"
["refridgerate"]=>
string(1) "1"
["parcel"]=>
string(1) "0"
["f&b"]=>
string(1) "1"
["tanker"]=>
string(1) "1"
["energy"]=>
string(1) "1"
["construction"]=>
string(1) "1"
["fleet"]=>
string(0) ""
["all_vocations"]=>
string(1) "1"
}

为什么我不能使用 $vtest->id 访问它

我得到: Trying to get property of non-object

【问题讨论】:

    标签: php object properties


    【解决方案1】:

    你想要$vtest->attributes['id']。如果实际读取var_dump的输出,可以看到id嵌套在attributes中,这是一个数组。

    【讨论】:

    • 这也给了我:试图获取非对象的属性
    【解决方案2】:

    尝试使用类似的东西:

    $vtest['attributes']['id']

    【讨论】:

    • 这个给了我:不能使用 Vocation 类型的对象作为数组
    • 那么meagar的回答应该可以。您确定这些属性被定义为公开的吗?
    • 是的,他们是,他的回答不起作用,我得到同样的错误,试图访问非对象的属性。这很奇怪,因为它是一个对象
    • 嗯...$vtest->attributes->id 呢?另外,请尝试使用print_r($vtest) 打印以查看其内容。
    • 感谢您的帮助,亚历杭德罗。该代码给出了同样的错误,试图访问非对象的属性。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-04
    • 2015-07-09
    • 2013-04-29
    • 2016-12-27
    • 2011-01-01
    • 2017-12-08
    相关资源
    最近更新 更多