2012-08-03 58 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

相關問題