2014-06-17 142 views
-2

我是PHP-POO中的新成员。我想从数组中检索对象并访问该对象的属性。如何从特定对象数组中获取对象?

我的意图代码:

require_once("../modelo/ClubDAO.php"); 
require_once("../modelo/Club.php"); 
require_once("../utils/ArrayList.php"); 

$clubs = new ArrayList(); 
/* GET ALL THE CLUBS OF THE DATABASE (WORKS GOOD)*/ 
$clubs = ClubDAO::get_instancia()->getAllClubs(); 

for($i = 0; $i < $clubs->size(); $i++) 
{ 
    $club = new Club(); 
    $club->getNif(); /* HERE I CAN ACCESS TO THE FIELDS */ 
    $club = $clubs->item($i); 

    $club->/*HERE I CAN'T ACCES TO THE FIELDS OF THE CLASS*/ 
} 

ArrayList类是一个简单的数组的封装,对我来说这更容易,这里的代码工作:

class ArrayList { 

    var $array; 

    public function ArrayList() { 
     $this->array = array(); 
    } 

    public function addItem($item){ 
     $this->array[] = $item ; 
    } 

    public function toString(){ 
     $cadena = ""; 
     foreach ($this->array as $item) { 
      $cadena .= $item; 
     } 
     return $cadena; 
    } 

    public function delete($item){ 
     unset($this->array[$item]); 
    } 

    public function item($item){ 
     return $this->array[$item]; 
    } 

    public function size(){ 
     return count($this->array); 
    } 
} 
+0

我不确定你在问什么......这段代码不工作?你有错误吗?请让我们知道你需要帮助。 – Kryten

+0

您正在将'$ clubs'设置为一个'ArrayList'对象,然后抛弃它并*用'getAllClubs()'替换*。 –

回答

2

您将要覆盖变量:

$club = $clubs->item($i); 

所以它不会是你期望的对象。