-2

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.
4

2 に答える 2

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番目のオブジェクトの$j番目の値を取得するには:

$retrieved_object=$cl2->var1[$i]->values[$j];
于 2012-09-01T13:30:35.993 に答える
1

配列に Class1 のインスタンスを入力するだけですか?

$var1 = array(new Class1(), new Class1(), newClass()); //Array of 3 Class1 instances
于 2012-09-01T13:19:08.480 に答える