Comment accéder facilement à un élément d'un tableau d'objets?
takinelinfo
Messages postés13Date d'inscriptionmardi 24 avril 2007StatutMembreDernière intervention 1 juillet 2008
-
9 avril 2008 à 01:07
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 2010
-
9 avril 2008 à 01:46
Bonjour,
J'ai une toute petite question.
Imaginons un tableau d'objet. Mon objet possede entre autre un attribut "id", "libelle" etc...
Je fais donc un truc du genre,
<?php
$tabMot=$liste->getAllMot();
?>
Comment puis je récupérer le libelle d'un mot dont je connais l'id? Suis je obligé de faire un foreach? J'espère que non!!!
Bien entendu $tabMot['id'] ne marche pas puisque c'est un tableau d'objet. C'est à dire que:
$tabMot[0] contient un mot qui a 1 id et 1 libelle
$tabMot[1] contient un mot qui a 1 id et 1 libelle
.......
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 9 avril 2008 à 01:46
Hello,
en l'état, si, tu vas être obligé.
Tu devrais plutôt modifier le comportement de ton objet "liste".
Un exemple à la con (je ne connais pas ton code, et je n'avais pas envie de faire trop compliqué...mais disons qu'avec la SPL, tu pourrais arriver à un truc très joli):
<?php
class mot {
public $id;
public $nom;
public function __construct($iId) {
$this->id = $iId;
$this->nom = chr($this->id+64);
}
}
class liste {
public function getAllMots() {
for($i = 1; $i < 10; $i++) {
$oTmp = new mot($i*2);
$aTab[$oTmp->id] = $oTmp;
}
return $aTab;
}
}
$liste = new liste;
$aMots = $liste->getAllMots();
echo $aMots[4]->nom;
?>