I am working with Quickbooks and need to access the customer email address. But I get a value like below from $Customer->getPrimaryEmailAddr()
QuickBooks_IPP_Object_PrimaryEmailAddr Object
(
[_data:protected] => Array
(
[Address] => Array
(
[0] => [email protected]
)
)
)
How can I get the email address?
For the specific object you posted in your question you want to do this:
$address = $TheObject->getAddress();
However, based on your comments to other users, I suspect you're using this code within a loop (e.g. looping through a list of customers), which means that you'll want an additional check to make sure the customer actually has a primary email address at all (otherwise you'll end up seeing errors like Call to a member function getAddress() on null
):
foreach ($customers as $Customer)
{
if ($PrimaryEmailAddr = $Customer->getPrimaryEmailAddr())
{
$address = $PrimaryEmailAddr->getPrimaryEmailAddr();
}
}
Another way to handle this is to use the XPath method, so that you don't need the extra check:
foreach ($customers as $Customer)
{
print(' Email: ' . $Customer->getXPath('//Customer/PrimaryEmailAddr/Address') . "\n\n");
}