我想让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.
答案 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];