0

我正在尝试从 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阵列发送。

4

2 回答 2

0

因为你有Object的数组,你需要使用->数组的每个深度。让你的响应数组对象是$response.

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

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

于 2016-09-28T09:25:59.903 回答
0

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

echo $your_object->TrackingResults->KeyValueOfstringArrayOfTrackingResultmFAkxlpY->Value->TrackingResult->UpdateDescription;
于 2016-09-28T09:27:06.317 回答