php:pour Mara's dad(tableau de tableau, suite) - Programmation
Marsh Posté le 02-08-2001 à 16:10:12
Bon, je vois déja un problème dans ces deux lignes :
$this->tableau_personne[count($this->tableau_personne)]=$p;
$this->tableau_personne[count($this->tableau_personne)]->enregistrement_personne();
Dans la première, tu ajoute la personne $p (un objet je suppose vu l'utilisation de sa méthode enregistrement_personne()...) dans le tableau $this->tableau_personne, en utilisant comme indice, count($this->tableau_personne). Je suppose encore une fois que ton tableau commence donc à 0 et que donc count($this->tableau_personne) te permet de récupérer le prochain indice !
Ce n'est pas necessaire en PHP, fait juste :
$this->tableau_personne[]=$p;
Si tu ne passe pas d'indice, il ajoute tout seul un élément au tableau !
Ensuite, dans la deuxième ligne, tu utilise la même indice ! ! !
Erreur, après la première ligne, le count() sur ton tableau à augmenté de 1 ! !
Donc :
$this->tableau_personne[]=$p;
$this->tableau_personne[count($this->tableau_personne)-1]->enregistrement_personne();
Ensuite:
$this->tableau_alpha[$p->nom[0]][count($this->tableau_alpha[$p->nom[0]])]=$p;
Je suppose donc que $p->nom est un tableau des lettres du nom de la personne...
C'est pareil, tu peut simplifier en :
$this->tableau_alpha[$p->nom[0]][]=$p;
Voilà !
Marsh Posté le 02-08-2001 à 16:21:03
je te remercie... On va mettre çà sur le compte de la fatigue...
Ciao et merci encore
Marsh Posté le 02-08-2001 à 15:57:41
voici, le code de ma classe personnel:
C'est encore l'histoire des tableaux de tableaux...
var $tableau_personne;
var $tableau_alpha;
/*permet d'ajouter un membre au personnel*/
function ajout_membre_personnel($p)
{
$this->tableau_personne[count($this->tableau_personne)]=$p;
$this->tableau_personne[count($this->tableau_personne)]->enregistrement_personne();
$this->tableau_alpha[$p->nom[0]][count($this->tableau_alpha[$p->nom[0]])]=$p;
}
si je fais çà, çà devrait donc marcher. sachant que tableau_alpha est un tableau qui a pour indices, les lettres de l'alphabet.
ce que je fais, c'est: je mets tous les noms commençants par a dans un tableau qui sera lui dans l'autre tableau qui est à la case A. Et ainsi de suite...