2010-07-15 64 views
1

我試圖將FedEx跟蹤類整合到我的應用程序中。該類採用SOAP響應並將其放入分層結構中。我訪問這樣的值:在PHP類中訪問類成員的問題

$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
if ($num_events == 1) { 
    $response->TrackDetails->Events = array($response->TrackDetails->Events); 
} 

這可以用一個循環完成了所有的字段在你的答案,自動將每個孤獨的人到一個數組長度爲1致謝

+0

!這工作完美,比我的想法笨重得多。 – user77413 2010-07-15 00:46:53