IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

L'art d'optimiser ses tableaux


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 504
    Par défaut L'art d'optimiser ses tableaux
    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...

    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(...);
    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 ?

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 724
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 724
    Par défaut
    Citation Envoyé par comode Voir le message
    est-ce que PHP gère systématiquement les tableau via une hashtable
    oui c'est le cas
    tu peux utiliser la fonction http://php.net/var_dump pour voir comment la variable est construite

  3. #3
    Membre chevronné
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 504
    Par défaut
    Arf, donc en réalité, quand on pense optimiser un code en faisant des tableau de fonctions comme on fait en C pour y accéder par leur index, en réalité, on alourdit le code par rapport à un simple switch case ?

    Bon...

    En tout cas, merci pour la réponse, je vais faire quelques expériences avec var_dump voir de quoi il en retourne...

    Edit : Noyeux Joel...

Discussions similaires

  1. Réponses: 0
    Dernier message: 19/05/2010, 09h25
  2. Pour contrer Bing, Google sort ses tableaux
    Par Emmanuel Chambon dans le forum Actualités
    Réponses: 21
    Dernier message: 23/07/2009, 13h33
  3. styler ses tableaux
    Par Methode dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 03/01/2007, 23h37
  4. [Débutant] Accélérer et optimiser ses scripts PHP
    Par Metallic-84s dans le forum Langage
    Réponses: 6
    Dernier message: 24/03/2006, 12h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo