natsort

(PHP 4 , PHP 5)

natsort --  Trie un tableau avec l'algorithme à "ordre naturel"

Description

void natsort ( array &array)

natsort() implémente un algorithme de tri qui traite les chaînes alpha-numériques du tableau array comme un être humain tout en conservant la relation clé/valeur. 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 1. 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
"Tri en ordre naturel\n";
print_r($array2);
?>

L'exemple ci-dessus va afficher :

Tri standard
Array
(
    [0] => img1.png
    [1] => img10.png
    [2] => img12.png
    [3] => img2.png
)
Tri en 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 natcasesort(), strnatcmp() et strnatcasecmp().