2011-03-27 162 views
0

我使用導致這樣的數組時,有數據的API:的訪問對象變量

object(stdClass)#38 (5) { 
    ["ReturnCode"]=> 
int(1) 
["EntityResults"]=> 
object(stdClass)#39 (1) { 
    ["Entity"]=> 
    object(stdClass)#40 (15) { 
    ["id"]=> 
    int(43622) 
    ["UserDefinedFields"]=> 
    object(stdClass)#41 (0) { 
    } 
    ["TicketID"]=> 
    int(31024) 
    ["InternalAllocationCodeID"]=> 
    int(28303142) 
    ["Date"]=> 
    string(19) "2011-03-24T00:00:00" 
    ["StartDateTime"]=> 
    string(19) "2011-03-24T11:41:00" 
    ["EndDateTime"]=> 
    string(19) "2011-03-24T11:46:00" 
    ["HoursWorked"]=> 
    float(0.08) 
    ["HoursToBill"]=> 
    float(0.0833333358) 
    ["OffsetHours"]=> 
    float(0) 
    ["SummaryNotes"]=> 
    string(584) "Hi Steve..." 
    ["InternalNotes"]=> 
    string(0) "" 
    ["RoleID"]=> 
    int(24482927) 
... 

... 

... 

... 

然後我有些記錄返回結果:

object(stdClass)#33 (5) { 
["ReturnCode"]=> 
int(1) 
["EntityResults"]=> 
object(stdClass)#34 (0) { 
} 
["EntityResultType"]=> 
string(9) "timeentry" 
["Errors"]=> 
object(stdClass)#35 (0) { 
} 
["EntityReturnInfoResults"]=> 
object(stdClass)#36 (0) { 
} 

}

有了這個最後的結果我得到一個錯誤

everity:注意

消息:未定義的屬性: stdClass的:: $實體

文件名:型號/ tickets_model.php

我的問題是如何才能避免這個錯誤?我試過

if($result->queryResult->EntityResults->Entity): 
     $noteso = $result->queryResult->EntityResults->Entity; 
     if(count($noteso)): 
      return $noteso; 
     else: 
      return false; 
     endif; 
    endif; 

但是然後我得到了同樣的錯誤,但在IF語句。

希望在這裏有足夠的人瞭解發生了什麼。

最欣賞的任何幫助,

比利

+0

你有沒有考慮只是投放到陣列?儘管只有一個小小的便利功能,但您必須遞歸執行此操作。 – 2011-03-27 17:52:38

回答

1

如果我理解正確的,這是你想要的東西:

if(isset($result->queryResult->EntityResults->Entity)): 
+0

當然!非常感謝! – iamjonesy 2011-03-27 17:54:09