的访问对象变量

问题描述:

我使用导致这样的数组时,有数据的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

如果我理解正确的,这是你想要的东西:

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

当然!非常感谢! – iamjonesy 2011-03-27 17:54:09