php:pour Mara's dad(tableau de tableau, suite)

php:pour Mara's dad(tableau de tableau, suite) - Programmation

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...

Reply

Marsh Posté le 02-08-2001 à 15:57:41   

Reply

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à !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

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

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed