Voilà, j'ai deux tableaux qui sont liés :
tab_nompro et tab_nomproIndice

La première ligne du premier tableau correspond à la première ligne du second. il y a une correspondance ligne à ligne entre les 2 tableaux.

Maintenant, j'ai besoin de trier le tableau tab_nompro par ordre alphabétique. Mais du coup, il faut que le second tableau suive le même processus de façon à ce que la correspondance ligne à ligne soit respectée.

Pour le moment, je faisais un tri très basique et peu performant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
             for ($j=0;$j<$nbIndice;$j++) {
            for ($k=0;$k<$nbIndice-1;$k++) {
                if (strcasecmp($tab_nompro[$k],$tab_nompro[$k+1]) > 0) {
                    $tmpNom =  $tab_nompro[$k];
                    $tab_nompro[$k] = $tab_nompro[$k+1];
                    $tab_nompro[$k+1] = $tmpNom;
                    $tmpIndice = $tab_nomproIndice[$k];
                    $tab_nomproIndice[$k] = $tab_nomproIndice[$k+1];
                    $tab_nomproIndice[$k+1] = $tmpIndice;
                }
            }
        }
Mais il s'avère que cette méthode de tri est beaucoup trop lente quand il y a beaucoup d'enregistrement. Je suis confronté ici à environ 3000 élément et comme la complexité du tri est de N^2, j'obtiens environ 9000000 d'itérations!!!
Bien évidemment, le php lache l'affaire avant d'avoir pu tout traiter.

Existe-il une fonction quicksort en php? Existe-il encore plus rapide que le quicksort?
Pensez-vous que c'est une bonne solution?