我正在尝试将FedEx跟踪类集成到我的应用程序中。该类接受SOAP响应并将其放入分层类结构中。我访问这样的值:
$city = $response->TrackDetails->Events[$i]->Address->City;
这适用于大多数情况。我遇到的问题是当给定货件只有一个事件时,我得到一个错误,说我不能将该类视为一个数组。由于只有一个事件,我需要在没有数组索引的情况下使用:
来访问它$city = $response->TrackDetails->Events->Address->City;
有没有办法解决这个问题而不做这样的事情:
if($num_events==1){
$city = $response->TrackDetails->Events->Address->City;
}else{
$city = $response->TrackDetails->Events[$i]->Address->City;
}
这个问题涉及大量数据领域,所以如果我能避免的话,我不想使用如此繁琐的东西。有任何想法吗?
答案 0 :(得分:0)
if ($num_events == 1) {
$response->TrackDetails->Events = array($response->TrackDetails->Events);
}
这可以通过回答所有字段的循环来完成,自动将每个孤独者放入长度为1的数组中。