|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Futur Membre du Club
![]() Inscription : octobre 2008 Messages : 93 ![]() |
Bonjour/Bonsoir à tous.
J'ai cherché sur internet et dans ces forums mais je n'ai pas trouvé de reeponse à ma question c'est pourquoi me voilà. Dans mon appli web je vais utiliser des Collections (tableau php) pour stocker ce que je récupère de ma base. Exemple; une collection $Adherents pour stocker les adhérents, une collection $Cotisations pour stocker les cotisations. Chaque adhérent récupéré est transformé en objet avant d'être inséré dans sa collection. Ensuite j'ai une méthode qui permet de rechercher un objet dans une collection en regardant si l'id de l'objet correspond à l'id de l'objet recherché. Ma classe Collection étant ainsi : Code :
J'ai pensé à faire : Code :
Merci d'avance pour votre aide |
||||
|
00
|
|
|
#2 | ||
|
Expert Confirmé
![]() ![]() |
Salut,
En PHP une collection peut se résumer à un simple tableau. Si tu manipules des objets ayant un identifiant unique il est possible de les stocker dans un tableau avec pour clé leur identifiant et pour valeur l'instance de l'objet. Code :
Bref pour ce genre de situation les solutions ne manquent pas et ne te sers pas de l'instance de l'objet comme clé de ton tableau parce que tes perfs vont dégringoler très vite surtout si la collection est volumineuse. Une clé d'un tableau doit être |
||
|
00
|
|
|
#3 |
|
Futur Membre du Club
![]() Inscription : octobre 2008 Messages : 93 ![]() |
Ah ouai cool pas bête de faire un tableau associatif plutot qu'un tableau simple et de mettre l'id en index. Ca va me faire gagner du temps et ca sera effectivement moins lourd.
Merci Et du coup si je veux récupérer le nom d'un adhérent dans la collection, est-ce qu'un $this->$tabs[$id]->name fonctionne ? [EDIT]Le coup du tableau associatif avec pour index l'id vient non seulement de me faire raccourcir et simplifier la méthode de test sur l'existance d'un objet dans le tableau mais du coup m'a aussi permis de supprimer entièrement la méthode que j'avais faite pour renvoyer l'index auquel se situé un objet dans la collection (s'il été trouvé). MERCI |
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() ![]() |
Bonjour,
Bien sûr que ceci fonctionne : Mais si tu ne veux pas de message d'erreur, assures toi bien que le $tabs[$id] existe bien. Si tu utilises une fonction du genre pour extraire la valeur tu dois impérativement vérifier l'existence de $tabs[$id] sinon plantage. |
|
00
|
|
|
#5 |
|
Futur Membre du Club
![]() Inscription : octobre 2008 Messages : 93 ![]() |
D'accord
Merci beaucoup pour ton aide
|
|
00
|
Copyright © 2000-2012 - www.developpez.com