Page 1 sur 1

Objet dans un array?

Posté : 20 avr. 2009, 13:14
par r0seBa
Bonjour à tous,

Posté : 20 avr. 2009, 14:01
par chrislabricole
Salut r0seBa :lol:

D'après se que j'ai compris de ton message, je pense que tu as des petits problèmes avec les héritages de class / fonctions.

Regardes à partir de là ;)

Posté : 20 avr. 2009, 16:41
par Ryle
A première vue, ton soucis se trouve ici :
$coureure[$id] = new coureur();//On cré un nouveau coureur 
$coureure->montagne = $data1['montagne']; 
$coureure->vallons = $data1['vallons']; 
Tu créer une instance d'un coureur que tu stockes dans ton tableau à la position $id. Jusque là, pas de soucis. Sauf qu'ensuite, tu veux definir les propriétés montagne et vallons, non pas de l'instance que tu viens de créer, mais de ton tableau $coureure.... du coup, ça doit pas fonctionner terrible vu que ce n'est pas un objet, mais un tableau ;)

La logique voudrait que tu le renseignes ainsi :
$coureure[$id]->montagne = $data1['montagne']; 
$coureure[$id]->vallons = $data1['vallons']; 
Sauf que je suis pas certain que la syntaxe $coureure[$id]->montagne fonctionne.

Au pire, il te suffit d'instancier ton objet, définir ses attributs et ne l'ajouter qu'ensuite dans ton tableau :
$objCoureur = new coureur(); //On creer un nouveau coureur 
$objCoureur->montagne = $data1['montagne']; 
$objCoureur->vallons = $data1['vallons']; 
$coureure[$id] = $objCoureur; // ajoute l'gaillard au biniou

Posté : 20 avr. 2009, 17:25
par r0seBa
Merci pour vos réponses :)

Posté : 20 avr. 2009, 17:59
par Ryle
Pour les mises à jour, y a peut être une syntaxe qui te permet de le faire directement, mais comme je ne la connais pas, tu peux simplement récupérer l'instance stockée, la modifier et la mettre à jour dans ton tableau :)
$objCoureur = $coureure[$id]; // va chercher l'gaillard dans l'tableau
$objCoureur->montagne = 'Alpes';  
$objCoureur->vallons = 'EnfantsDeLaPatrieeuh';  // .... désolé :(
...
$coureure[$id] = $objCoureur; // recolle l'gaillard dans l'tableau

Posté : 20 avr. 2009, 18:09
par r0seBa
OK

Posté : 20 avr. 2009, 18:24
par Ryle
Un p'tit clic sur le bouton Image ? :)