我想打印[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] =>
)
)
)
)
)
)
我目前能够使用下面的命令打印[UpdateDescription]的值,当只有1个发货时,因为响应
中没有[0]和[1]。$description = $auth_call->TrackingResults-KeyValueOfstringArrayOfTrackingResultmFAkxlpY->Value->TrackingResult-UpdateDescription;
print_r($description);
尝试使用foreach
-loop:
foreach($auth_call->TrackingResults->KeyValueOfstringArrayOfTrackingResultmFAkxlpY as $tracking_result) {
print_r ($tracking_result->Value->TrackingResult->UpdateDescription);
}
你试过吗
$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交互
希望这对你有帮助