J'ai un problème de performance sur un traitement sur mes tableaux.
Je m'explique.
J'ai un tableau comme ceci :
J'enlève ensuite l'élément 'b' :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $tab[0] = 'a'; $tab[1] = 'b'; $tab[2] = 'c';
Je me retrouve avec le tableau suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 unset($tab[1]);
Je cherche maintenant à avoir ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $tab[0] -> 'a' $tab[2] -> 'c'
Ne me demandez pas pourquoi j'ai besoin de remettre mes indices comme ceci, c'est important, c'est tout.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $tab[0] -> 'a' $tab[1] -> 'c'
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!
Partager