使用 Quickbooks PHP SDK 获取客户的电子邮件地址

Get email address of customer with Quickbooks PHP SDK

我正在使用 Quickbooks,需要访问客户电子邮件地址。但是我从 $Customer->getPrimaryEmailAddr()

得到如下值
 QuickBooks_IPP_Object_PrimaryEmailAddr Object
(
[_data:protected] => Array
    (
        [Address] => Array
            (
                [0] => Surf@Intuit.com  
            )

    )

)

如何获取电子邮件地址?

您可以通过以下方式获取地址:

$address = $Customer->getPrimaryEmailAddr()->getAddress();

对于您在问题中发布的特定对象,您想这样做:

$address = $TheObject->getAddress();

但是,根据您对其他用户的评论,我怀疑您是在循环中使用此代码(例如循环访问客户列表),这意味着您需要进行额外检查以确保客户实际上有一个主要电子邮件地址(否则您最终会看到 Call to a member function getAddress() on null 之类的错误):

foreach ($customers as $Customer)
{
  if ($PrimaryEmailAddr = $Customer->getPrimaryEmailAddr())
  {
    $address = $PrimaryEmailAddr->getPrimaryEmailAddr();
  }
}

另一种处理方法是使用 XPath 方法,这样就不需要额外的检查:

foreach ($customers as $Customer)
{
    print('  Email: ' . $Customer->getXPath('//Customer/PrimaryEmailAddr/Address') . "\n\n");
}