来自装运跟踪响应的stdClass对象的回显项

时间:2016-09-28 09:18:56

标签: php aramex

我正在尝试跟踪Aramex API的发货量。以下结果是我从发送到轨道出货号59398114932的请求中得到的响应:

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

    [Notifications] => stdClass Object
        (
        )

    [HasErrors] => 
    [TrackingResults] => stdClass Object
        (
            [KeyValueOfstringArrayOfTrackingResultmFAkxlpY] => stdClass Object
                (
                    [Key] => 59398114932
                    [Value] => stdClass Object
                        (
                            [TrackingResult] => stdClass Object
                                (
                                    [WaybillNumber] => 59398114932
                                    [UpdateCode] => SH005
                                    [UpdateDescription] => Delivered
                                    [UpdateDateTime] => 2016-09-26T14:45:00
                                    [UpdateLocation] => new york
                                    [Comments] => joe
                                    [ProblemCode] => 
                                )
                        )
                )
        )
)

但我真正需要的只是上述回复中的[UpdateDescription]才能知道货件何时交付。我怎么能回应呢?

以下是我发送的请求:

$auth_call = $soapClient->TrackShipments($params);

货件编号由$params阵列发送。

2 个答案:

答案 0 :(得分:0)

因为您拥有Object数组,所以需要对数组的每个深度使用->。让您的响应数组对象为$response

echo $response->TrackingResults->KeyValueOfstringArrayOfTrackingR‌​esultmFAkxlpY->Value‌​->TrackingResult->Up‌​dateDescription;

没有什么复杂的,简单的。对此数组对象的每个数组深度使用->符号。

答案 1 :(得分:0)

如果您只需要更新说明,那么应该这样做:

echo $your_object->TrackingResults->KeyValueOfstringArrayOfTrackingResultmFAkxlpY->Value->TrackingResult->UpdateDescription;