ok, autant parler à un sourd...
Ils, moogli en particulier, et tous ceux qui ont tenté de t'aider, ne sont pas sourds le moins du monde, mais plutôt, "loquentes in deserto", soucieux de cohérence, un souci primordial dès qu'on effectue un traitement qui s'apparente à une base de données.
Mon point de vue est que l'aide ne consiste pas à trouver une bidouille résolvant un problème de conception, mais à sugérer une conception mieux adaptée au problème posé.
(À titre personnel, j'avais dans ma paresse conçu une BDD d'apprenants dont un des champs était la liste des groupes auxquels ils appartenaient : "anglais débutant;php renforcé;...". L'exploitation en est possible, mais malcommode, en extrayant pour chacun les éléments de la liste.
En ajoutant une table des formations et une table formations_apprenants (id_apprenant; id_formation),
le problème d'exploitaion devint élémentaire).
Il est bien évident que c'est à la conception du tableau qu'il faut intervenir, ce qui est largement plus simple que, parce qu'on en a bâclé la création, de devoir écrire des traitements différents pour des données analogues.
Entre
Familles[1]['Pere'] = "Adam";
Familles[1]['enfants'][0] = "Caïn";
Familles[1]['enfants'][1] = "Abel";
et
Familles[7392]['Pere'] = "Abraham";
Familles[1]['enfants'][0] = "Isaac";
il n'y a aucune différence, ni au niveau conceptuel, ni au niveau de l'exploitation alors que
Familles[1]['Pere'] = "Adam";
Familles[1]['enfants'][0] = "Caïn";
Familles[1]['enfants'][1] = "Abel";
et
Familles[7392]['Pere'] = "Abraham";
Familles[7392]['enfants'] = "Isaac";
introduit une différence conceptuelle (Abraham ne peut pas avoir un autre enfant) et une différence d'exploitation.