Objet dans un array?

Eléphanteau du PHP | 22 Messages

20 avr. 2009, 13:14

Bonjour à tous,
Modifié en dernier par r0seBa le 19 juil. 2011, 17:46, modifié 1 fois.

Mammouth du PHP | 959 Messages

20 avr. 2009, 14:01

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à ;)

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

20 avr. 2009, 16:41

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
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 22 Messages

20 avr. 2009, 17:25

Merci pour vos réponses :)
Modifié en dernier par r0seBa le 19 juil. 2011, 17:46, modifié 1 fois.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

20 avr. 2009, 17:59

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
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 22 Messages

20 avr. 2009, 18:09

OK
Modifié en dernier par r0seBa le 19 juil. 2011, 17:46, modifié 1 fois.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

20 avr. 2009, 18:24

Un p'tit clic sur le bouton Image ? :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...