Admettons que j'aie la classe suivante :
class truc{
function __construct($table){
foreach($table as $key => $value) $this->$key=$value;
}
}
Et que je lui passe un tableau de cette façon :
$montruc=new truc(array('a','b','c'));
Je me retrouverai avec des propriétés de classe dont le nom ressemble fortement à un entier. Si je fais un print_r sur $montruc, j'obtiendrai :
Code : Tout sélectionner
truc Object
(
[0] => a
[1] => b
[2] => c
)$montruc->1 ne marche pas (1 est un entier et pas une chaîne)
$montruc[1] non plus ($montruc est un objet, pas un tableau)
Par contre $montruc->{1} marche.
Est-ce que l'utilisation des accolades est la bonne méthode ? Est-ce que ça vous semble être du code propre ou quelque chose à ne pas faire (et je devrais plutôt créer un tableau dans ma classe pour y ranger mes valeurs) ?