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