我正在尝试跟踪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
阵列发送。
答案 0 :(得分:0)
因为您拥有Object数组,所以需要对数组的每个深度使用->
。让您的响应数组对象为$response
。
echo $response->TrackingResults->KeyValueOfstringArrayOfTrackingResultmFAkxlpY->Value->TrackingResult->UpdateDescription;
没有什么复杂的,简单的。对此数组对象的每个数组深度使用->
符号。
答案 1 :(得分:0)
如果您只需要更新说明,那么应该这样做:
echo $your_object->TrackingResults->KeyValueOfstringArrayOfTrackingResultmFAkxlpY->Value->TrackingResult->UpdateDescription;