PHP dispose de nombreuses fonctions permettant de trier des tableaux suivant différents critères : clefs, valeurs, etc. La plus utilisée est de loin la fonction sort(). C'est très certainement vers celle ci que se tournera le débutant. Cependant, si la problématique consiste à faire un tri par ordre alphabétique, attention aux surprises.

Exemple :

<?php
$tmp = array (
     "BABAR",
     "Babar",
     "abracadabra",
     "Foo",
     "Bar",
     "truc",
     "Bidule"
     );
sort($tmp);
print_r($tmp);
?>
retournera,

Array
(
    [0] => BABAR
    [1] => Babar
    [2] => Bar
    [3] => Bidule
    [4] => Foo
    [5] => abracadabra
    [6] => truc
)
Ce n'est pas forcement l'effet voulu :)

Une solution consiste à utiliser la fonction usort(). Elle permet de trier un tableau en utilisant une fonction de comparaison définie par l'utilisateur...ou existante (au sens de PHP). Dans le cas de notre problématique, la fonction strcasecmp() sera tout à fait indiquée. Exemple :

<?php
$tmp = array (
     "BABAR",
     "Babar",
     "abracadabra",
     "Foo",
     "Bar",
     "truc",
     "Bidule"
     );
usort($tmp, "strcasecmp");
print_r($tmp);
?>
retournera,

Array
(
    [0] => abracadabra
    [1] => BABAR
    [2] => Babar
    [3] => Bar
    [4] => Bidule
    [5] => Foo
    [6] => truc
)
Ce qui correspond au résultat désiré.

sort()
usort()
strcasecmp()