Php 打印std对象响应中同一参数的多个值

Php 打印std对象响应中同一参数的多个值,php,Php,我想打印[0]和[1]中装运的[UpdateDescription]的值 这是发送的请求 $auth_call = $soapClient->TrackShipments($params); 装运编号在$params数组中发送 答复如下 stdClass Object ( [Transaction] => stdClass Object ( [Reference1] => [Reference2] =&

我想打印[0]和[1]中装运的[UpdateDescription]的值

这是发送的请求

$auth_call = $soapClient->TrackShipments($params);
装运编号在$params数组中发送

答复如下

stdClass Object
(
    [Transaction] => stdClass Object
        (
            [Reference1] => 
            [Reference2] => 
            [Reference3] => 
            [Reference4] => 
            [Reference5] => 
        )

    [Notifications] => stdClass Object
        (
        )

    [HasErrors] => 
    [TrackingResults] => stdClass Object
        (
            [KeyValueOfstringArrayOfTrackingResultmFAkxlpY] => Array
                (
                    [0] => stdClass Object
                        (
                            [Key] => 52398174132
                            [Value] => stdClass Object
                                (
                                    [TrackingResult] => stdClass Object
                                        (
                                            [WaybillNumber] => 52398174132
                                            [UpdateCode] => SH005
                                            [UpdateDescription] => Delivered
                                            [UpdateDateTime] => 2016-09-26T14:45:00
                                            [UpdateLocation] => New York
                                            [Comments] => Maz
                                            [ProblemCode] => 
                                        )

                                )

                        )

                    [1] => stdClass Object
                        (
                            [Key] => 43559827323
                            [Value] => stdClass Object
                                (
                                    [TrackingResult] => stdClass Object
                                        (
                                            [WaybillNumber] => 43559827323
                                            [UpdateCode] => SH008
                                            [UpdateDescription] => Shipment on Hold
                                            [UpdateDateTime] => 2016-09-28T10:18:00
                                            [UpdateLocation] => New York
                                            [Comments] => Na
                                            [ProblemCode] => 
                                        )

                                )

                        )

                )

        )

)
当响应中只有[0]和[1]这样的装运时,我当前可以使用以下命令打印[UpdateDescription]的值

$description = $auth_call->TrackingResults-KeyValueOfstringArrayOfTrackingResultmFAkxlpY->Value->TrackingResult-UpdateDescription; 
print_r($description);
你试过了吗

$description = $auth_call->TrackingResults-KeyValueOfstringArrayOfTrackingResultmFAkxlpY[0]->Value->TrackingResult-UpdateDescription; 
print_r($description);

$description = $auth_call->TrackingResults-KeyValueOfstringArrayOfTrackingResultmFAkxlpY[1]->Value->TrackingResult-UpdateDescription; 
print_r($description);
您还可以与foreach交互


我希望这能帮助您尝试使用
foreach
-循环:

foreach($auth_call->TrackingResults->KeyValueOfstringArrayOfTrackingResultmFAkxlpY as $tracking_result) {
    print_r ($tracking_result->Value->TrackingResult->UpdateDescription);
}

弗雷恩,我该怎么做呢?我想你应该扩展一下你也可以和一个foreach互动。因为这是OP最有可能做的事情。
print\u r()
实际上对OP没有任何帮助。您应该使用
foreach
循环。这只是硬编码的,对于多个跟踪结果来说不是动态的,不完全匹配2Again的计数
print\r()
没有执行要求的操作是的,
[UpdateDescription]
的值不是它所在数组的所有内容