par
abelthorne » 12 août 2009, 17:12
Bonjour,
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 :
Comment accéder aux propriétés de la classe ?
$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) ?