2012-08-03 56 views
0

我尝试从我的处理程序中获取一个对象,但是当我试图知道它是否是带有'is_object'的对象时,答案是错误的,'is_array'的答案是正确的。Xoops - 为什么我得到一个数组而不是XoopsObject?

为什么?

这是我的代码:

 // Get members list 
     $criteria = new CriteriaCompo(); 
     $criteria->setSort('member_id'); 
     $criteria->setOrder('ASC'); 
     $members = $memberhandler->getObjects($criteria, true, false); 
     unset($criteria); 

     // Get Nickname/Pseudo 
     if (count($members) > 0) { 
      foreach (array_keys($members) as $i) { 
       is_object($members[$i]) ? print_r("is object") : print_r("is not object"); 
       is_object($members[0]) ? print_r("is object") : print_r("is not object"); 
       is_array($members[$i]) ? print_r("is array") : print_r("is not array"); 
       echo($member->getVar('uid')); 
      } 
     } 

感谢您的回答:)

+0

尝试'的var_dump($会员)'循环之前,并显示结果是什么。 – 2012-08-03 11:56:32

回答

1

这是因为如果你要检索“getObjects”就是得到你的

“对象数组”一个特定的对象,并有member_id,那么你应该使用“get”,并在你的情况下,你不会再使用“标准”,但直接要求对象:

$ membe r = $ memberhandler-> get($ member_id);

您可以在此演示文稿看到更多的例子:

http://www.slideshare.net/xoopsproject/oop-adventures-with-xoops

相关问题