08-02-2007, 09:34 AM
$key = 'machin';
$this->key renvoit la valeur de l'attribut $key de $this
$this->$key renvoit la valeur de l'attribut $machin de $this
ainsi si tu fais un foreache sur $this->key = array[$key]
l'attribut $key de $this sera sans cesse modifié ($this->key ) =array[0]; $this->key ) =array[1]; ...) mais cela n'impactera pas les autres attributs (key est invariable).
D'habitude, tu utilises la syntaxe $key = array[$key] qui fontionne.
Si tu veux comprendre les méthodes d'accès aux variables d'une classe, imagine que chaque objet soit un tableau de variable ainsi $this->key pointerait sur $this['key'], cad toujours la même variable et $this->$key pointerait sur $this[$key].
$this->key renvoit la valeur de l'attribut $key de $this
$this->$key renvoit la valeur de l'attribut $machin de $this
ainsi si tu fais un foreache sur $this->key = array[$key]
l'attribut $key de $this sera sans cesse modifié ($this->key ) =array[0]; $this->key ) =array[1]; ...) mais cela n'impactera pas les autres attributs (key est invariable).
D'habitude, tu utilises la syntaxe $key = array[$key] qui fontionne.
Si tu veux comprendre les méthodes d'accès aux variables d'une classe, imagine que chaque objet soit un tableau de variable ainsi $this->key pointerait sur $this['key'], cad toujours la même variable et $this->$key pointerait sur $this[$key].