循环遍历一组嵌套的stdClass对象和数组


Looping through a nested set of stdClass objects and arrays

我正试图循环通过一个stdClass对象($args),该对象的格式如下所示。目标是循环遍历每个sObject,JSON对值进行编码并将其发送到端点。

我想这会奏效:

$object = $args->Notification->sObject;
    foreach($object as $item) { JSON_ENCODE AND SEND TO PASTEB.IN }

只是我得到了一个"空"的回复。

如果我这样做:

$object = $args->Notification;
    foreach($object as $item) {
        $sf = $item->sObject;"
        // JSON_ENCODE $sf and send to PASETBI.N
        }

我只得到一个发布到pasteb.in的结果,而不是所有结果(例如,下表中应该有3个单独的结果)。

我已经看过关于在数组/sObject中循环的其他问题的答案,但我做不好。任何帮助都将不胜感激!

打印此对象显示以下格式:

stdClass Object
(
    [OrganizationId] => XXXXXXXXXXXXXXXX
    [ActionId] => XXXXXXXXXXXXXXXX
    [SessionId] => 
    [EnterpriseUrl] => https://darlston-dev-ed.my.salesforce.com/services/Soap/c/33.0/XXXXXXXXXXXXXXXX
    [PartnerUrl] => https://darlston-dev-ed.my.salesforce.com/services/Soap/u/33.0/XXXXXXXXXXXXXXXX
    [Notification] => Array
        (
            [0] => stdClass Object
                (
                    [Id] => XXXXXXXXXXXXXXXX
                    [sObject] => stdClass Object
                        (
                            [Id] => XXXXXXXXXXXXXXXX
                            [Contact_Email__c] => test@testemail.com
                        )
                )
            [1] => stdClass Object
                (
                    [Id] => XXXXXXXXXXXXXXXX
                    [sObject] => stdClass Object
                        (
                            [Id] => XXXXXXXXXXXXXXXX
                            [Contact_Email__c] => test@testemail.com
                        )
                )
            [2] => stdClass Object
                (
                    [Id] => XXXXXXXXXXXXXXXX
                    [sObject] => stdClass Object
                        (
                            [Id] => XXXXXXXXXXXXXXXX
                            [Contact_Email__c] => test@testemail.com
                        )
                )
        )
)

你能试试这个吗?

foreach($args->Notification as $item)
{
    echo $item->Id."<br>";
    echo $item->sObject->Id."<br>";
    echo $item->sObject->Contact_Email__c."<br>";
}