PHP对象数组

所以我一直在寻找一段时间,找不到一个简单问题的答案。 是否有可能在PHP中有一个对象的数组? 如:

$ar=array(); $ar[]=$Obj1 $ar[]=$obj2 

出于某种原因,我无法在任何地方find答案。 我认为这是可能的,但我只需要确保。

寻找一般(和一些简单的问题),如这样的答案的最佳地点是阅读PHP文档 。 特别是在你的情况下,你可以阅读更多的对象 。 您可以将stdObject和实例化的对象存储在一个数组中。 实际上,有一个被称为“ 水合 ”的过程,它使用数据库行中的值填充对象的成员variables,然后该对象被存储在一个数组中(可能还有其他对象),并返回到调用代码进行访问。

– 编辑 –

 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>";