Bonjour,
Voilà, je suis assez souvent confronter à des tableaux assez importants en PHP, et je me pose toujours des questions concernant la façon dont PHP gère ça...
Comme tout le monde le sait, le typage est quasiment inexistant en PHP et j'en vient à me demander comment sont gérer les index de tableaux. PHP fait-il la différence entre un tableau indexé par des entiers ou un tableau indexé par des chaines de caractères ?
Il m'arrive par exemple d'avoir à créer des tableaux que je doit indexer par des ID d'enregistrements venant de ma base de données. Je suis donc susceptible d'avoir des tableau avec des valeurs en index de l'ordre de plusieurs dizaine de milliers.
Alors est-ce que PHP gère systématiquement les index par une table de Hash, ou est-ce qu'il alloue normalement comme le ferait le langage C sur un tableau de pointeurs lorsqu'il s'agit de valeurs uniquement numériques dans l'index ?
Dans le doute, quand je veux créer un tableau indexé par des ID (numériques) de la base, je concatène l'ID avec une lettre, afin d'être certain qu'il utilise une table de Hash et qu'il aille pas m'allouer un tableau de 15.000 cases pour stocker une seule valeur...
La question est donc : Est-ce que ma démarche est judicieuse, ou est-ce que PHP gère systématiquement les tableau via une hashtable et que je me fatigue pour rien ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 //ex: (row contient le resultat d'un query) $MonTab = array('I'.$row['id_dematable'] => array(etc...)); // ou encore $MonTab['I'.$row['id_dematable']] = array(...);







Répondre avec citation



Partager