だから私はしばらく探していて、簡単な質問への答えを見つけることができません。 PHPでオブジェクトの配列を持つことは可能ですか?といった:
$ar=array();
$ar[]=$Obj1
$ar[]=$obj2
何らかの理由で、私はどこでも答えを見つけることができませんでした。それは可能だと思いますが、確認する必要があります。
このような一般的な質問(やや簡単な質問)の答えを見つけるのに最適な場所は、 PHP docs を読むことです。具体的には、 objects について詳しく読むことができます。 stdObjectとインスタンス化されたオブジェクトを配列内に保存できます。実際、オブジェクトのメンバー変数にデータベース行の値を入力する「 ハイドレーション 」と呼ばれるプロセスがあり、オブジェクトは配列(おそらく他のオブジェクト)に格納され、返されますアクセスのための呼び出しコードに。
-編集-
class Car
{
public $color;
public $type;
}
$myCar = new Car();
$myCar->color = 'red';
$myCar->type = 'sedan';
$yourCar = new Car();
$yourCar->color = 'blue';
$yourCar->type = 'suv';
$cars = array($myCar, $yourCar);
foreach ($cars as $car) {
echo 'This car is a ' . $car->color . ' ' . $car->type . "\n";
}
はい。
$array[] = new stdClass;
$array[] = new stdClass;
print_r($array);
結果:
Array
(
[0] => stdClass Object
(
)
[1] => stdClass Object
(
)
)
配列にはポインターを保持できるため、オブジェクトの配列が必要な場合はそれを行います。
$a = array();
$o = new Whatever_Class();
$a[] = &$o;
print_r($a);
これは、オブジェクトが参照されており、配列を介してアクセス可能であることを示します。
はい、PHPでオブジェクトの配列を持つことが可能です。
class MyObject {
private $property;
public function __construct($property) {
$this->Property = $property;
}
}
$ListOfObjects[] = new myObject(1);
$ListOfObjects[] = new myObject(2);
$ListOfObjects[] = new myObject(3);
$ListOfObjects[] = new myObject(4);
print "<pre>";
print_r($ListOfObjects);
print "</pre>";