Page 1 sur 1

Variable ayant un nom numérique

Posté : 12 août 2009, 17:12
par abelthorne
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 :

Code : Tout sélectionner

truc Object ( [0] => a [1] => b [2] => c )
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) ?