Donc, je cherche depuis un moment et je ne trouve pas la réponse à une question simple. Est-il possible d'avoir un tableau d'objets en PHP? Tel que:
$ar=array();
$ar[]=$Obj1
$ar[]=$obj2
Pour une raison quelconque, je n'ai pas été en mesure de trouver la réponse nulle part. Je suppose que c'est possible, mais je dois juste m'assurer.
Le meilleur endroit pour trouver des réponses à des questions générales (et quelque peu faciles) comme celle-ci est de lire sur documentation PHP . Dans votre cas, vous pouvez en savoir plus sur objets . Vous pouvez stocker stdObject et des objets instanciés dans un tableau. En fait, il existe un processus appelé ' hydratation ' qui remplit les variables membres d'un objet avec les valeurs d'une ligne de la base de données, puis l'objet est stocké dans un tableau (éventuellement avec d'autres objets) et renvoyé au code d'appel pour l'accès.
-- Modifier --
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";
}
Oui.
$array[] = new stdClass;
$array[] = new stdClass;
print_r($array);
Résulte en:
Array
(
[0] => stdClass Object
(
)
[1] => stdClass Object
(
)
)
Les tableaux peuvent contenir des pointeurs. Ainsi, lorsque je veux un tableau d'objets, je le fais.
$a = array();
$o = new Whatever_Class();
$a[] = &$o;
print_r($a);
Cela montrera que l'objet est référencé et accessible via le tableau.
Oui, il est possible d'avoir un tableau d'objets en 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>";