PHP 对象数组

2022-08-30 08:12:13

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

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

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


答案 1

找到诸如此类的一般(并且有些简单的问题)的答案的最佳位置是阅读PHP文档。特别是在您的案例中,您可以阅读有关对象的更多信息。可以将 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";
}

答案 2

是的。

$array[] = new stdClass;
$array[] = new stdClass;

print_r($array);

结果在:

Array
(
    [0] => stdClass Object
        (
        )

    [1] => stdClass Object
        (
        )

)