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 :

[Tableaux] Problème de performance sur traitement tableaux


Sujet :

Langage PHP

  1. #1
    Membre actif
    Profil pro
    Ingénieur développement
    Inscrit en
    Juillet 2004
    Messages
    323
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement

    Informations forums :
    Inscription : Juillet 2004
    Messages : 323
    Points : 291
    Points
    291
    Par défaut [Tableaux] Problème de performance sur traitement tableaux
    J'ai un problème de performance sur un traitement sur mes tableaux.

    Je m'explique.

    J'ai un tableau comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $tab[0] = 'a';
    $tab[1] = 'b';
    $tab[2] = 'c';
    J'enlève ensuite l'élément 'b' :
    Je me retrouve avec le tableau suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $tab[0] -> 'a'
    $tab[2] -> 'c'
    Je cherche maintenant à avoir ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $tab[0] -> 'a'
    $tab[1] -> 'c'
    Ne me demandez pas pourquoi j'ai besoin de remettre mes indices comme ceci, c'est important, c'est tout.
    Pour cela, j'ai trouvé 2 solutions : array_merge ou sort.
    Cependant, les 2 possèdent un problème majeur.
    Array_merge est plutôt rapide, mais prend beaucoup de mémoire, et comme j'ai une grosse boucle avec de très gros tableaux, je dépasse vite les 100Mo d'occupation en mémoire vive.
    En ce qui concerne le sort, il se débrouille mieux en ce qui concerne la mémoire, mais il est beaucoup plus lent (normal, quicksort oblige).

    Je voudrais savoir s'il n'existe pas de fonction plus simple pour retrier les index de mon tableau de la même façon.

    Merci!
    Хајде Јано коло да играмо

  2. #2
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mars 2007
    Messages : 215
    Points : 151
    Points
    151
    Par défaut
    salut
    array_splice() retourne le tableau des éléments supprimés
    je sais pas ce que sa vaut mais sa peut peutertre te servir^^

  3. #3
    Membre éprouvé Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Points : 952
    Points
    952
    Par défaut
    Bonjour,

    Que penses-tu de la fonction array_splice()


    Etant donné que ton tableau n'a pas de clé particulières, cela doit pouvoir fonctionner. Après je ne sais pas ce que cela donne en termes de perfs sur des gros tableaux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $tab[0] = 'a';
    $tab[1] = 'b';
    $tab[2] = 'c';
     
    array_splice($tab, 1,1);
     
    var_dump($tab);
    Pierre
    1. Dans le manuel ( PHP, MySQL,..., rayez la mention inutile), tu te plongeras à deux fois plutôt qu'aucune.
    2. Dans la doc php, tu liras attentivement les sections Chaines de caractères, Tableaux et Système de fichiers
    3. Un code rapide c'est bien, un code maintenable c'est mieux
    ...

    Why was the font tag an orphan ? Because it didn't have a font-family.

  4. #4
    Membre actif
    Profil pro
    Ingénieur développement
    Inscrit en
    Juillet 2004
    Messages
    323
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement

    Informations forums :
    Inscription : Juillet 2004
    Messages : 323
    Points : 291
    Points
    291
    Par défaut
    Oui, merci, c'est ce que j'utilise finalement.
    C'est très bien!
    Хајде Јано коло да играмо

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VxiR2] Problème déphasage alignement sur plusieurs tableaux
    Par scalpa63 dans le forum Deski
    Réponses: 5
    Dernier message: 27/03/2009, 11h17
  2. [Tableaux] Problème de test sur une variable
    Par Laurent64 dans le forum Langage
    Réponses: 7
    Dernier message: 20/05/2007, 14h04
  3. [Tableaux] problème d'appel sur ma bbd
    Par maximew dans le forum Langage
    Réponses: 1
    Dernier message: 14/02/2007, 10h19
  4. [Tableaux] Problème de typage sur un float
    Par Lomu dans le forum Langage
    Réponses: 1
    Dernier message: 06/11/2006, 11h47
  5. Réponses: 3
    Dernier message: 21/09/2006, 15h55

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