另一个类中的类对象数组

时间:2012-09-01 13:10:55

标签: php class

我想让var1成为Class1实例的数组。必须在Class2中定义此数组。如何正确地做到这一点?

class Class1 {
  public $values = array();
}        

class Class2 {
    public $var1 = array();
    public $var1_ptr;
    public function setPtr(Class1 $var1) {
        $this->var1_ptr = $var1;
    }   
}

$cl2 = new Class2();
$cl2->sePtr($cl2->$var1[0]); // Here I want to access the first array's object of Class1.

2 个答案:

答案 0 :(得分:1)

只需使用Class1实例填充数组吗?

$var1 = array(new Class1(), new Class1(), newClass()); //Array of 3 Class1 instances

答案 1 :(得分:1)

您可以将对象存储为数组元素,并且访问它们的方式不同,就像它们是自己的变量一样。这同样适用于将它们存储为对象的属性。

class Class1 {
    public $values = array();
}   

class Class2 {
    public $var1=array();
}

$cl2=new Class2();
$cl2->var1[]=new Class1; //Do this as many times as you want to store Class1 objects

检索存储在数组中的$ i-th对象的第j个值:

$retrieved_object=$cl2->var1[$i]->values[$j];