在PHP中访问对象内的嵌套对象不起作用

时间:2018-11-15 23:10:05

标签: php api quickbooks

在PHP中,我正在使用其查询功能从QuickBooks Online帐户中请求数据。

我正在遍历在标准foreach($ customer as $ x)代码块中返回的每个客户对象。

使用var_dump,我可以告诉每个对象具有以下格式:

object(QuickBooksOnline\API\Data\IPPCustomer) [34]
public 'Taxable' => string 'true' (length=4)
public 'BillAddr' =>
    object(QuickBooksOnline\API\Data\IPPCustomer) [78]
    public 'Id' => string '7509' (length=4)
    public 'Line1' => '1234 Irrelevant Dr.' (length=19)

在PHP中,如果我只是尝试访问$ x-> Taxable,则它没有问题,但是我尝试访问的 any 子对象返回错误:“试图获取non的属性-第X行上的对象“

所以:

echo $x->Taxable; 

给我应税地位,但是

echo $x->BillAddr->Line1; 

给我一​​个错误。

这些是公共课程,所以我不能这样称呼他们吗?

1 个答案:

答案 0 :(得分:0)

发现了问题,我不知道为什么需要这样做,但这是我如何使用花括号将其工作的方法:

echo "{$x->BillAddr->Line1}";而不只是echo "$x->BillAddr->Line1";

同样的规则也适用于分配,显然:

$line1 = "{$x->BillAddr->Line1}";

谢谢大家的帮助!