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