Tri d'un tableau avec l'algorithme à "ordre naturel"
void natsort (array array)
natsort() implémente un algorithme
de tri qui traite les chaînes alpha-numériques
comme un être humain : c'est ce qui est appelé
l'"ordre naturel". Un exemple de la différence de
traitement entre un tel algorithme et un algorithme de tri de
chaînes (comme lorsqu'on utilise sort())
est illustré ci-dessous :
Exemple avec natsort()
<?php
$array1 = $array2 = array ("img12.png","img10.png","img2.png","img1.png");
sort($array1);
echo "Tri Standard\n";
print_r($array1);
natsort($array2);
echo "\nTri par Ordre Naturel\n";
print_r($array2);
?>
L'exemple ci-dessous génère l'affichage suivant :
Tri Standard
Array
(
[0] => img1.png
[1] => img10.png
[2] => img12.png
[3] => img2.png
)
Tri par Ordre Naturel
Array
(
[3] => img1.png
[2] => img2.png
[1] => img10.png
[0] => img12.png
)
?>
Pour plus de détails, rendez-vous sur le site de Martin Pool
Natural Order String Comparison.
Voir aussi
array-multisort(),
arsort(),
asort(),
krsort(),
ksort(),
natsort(),
natcasesort(),
rsort(),
sort(),
uasort(),
uksort(),
usort(),
strnatcmp() et
strnatcasecmp().