natsortTrie un tableau avec l'algorithme à "ordre naturel"
&reftitle.description;
boolnatsortarrayarraynatsort implémente un algorithme
de tri qui traite les chaînes alphanumé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.
¬e.sort-unstable;
¬e.reset-index;
&reftitle.parameters;
array
Le tableau d'entrée.
&reftitle.returnvalues;
&return.true.always;
&reftitle.examples;
Exemple d'utilisation de base avec natsort
]]>
&example.outputs;
img1.png
[1] => img10.png
[0] => img12.png
[2] => img2.png
)
Natural order sorting
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 sur
la comparaison de chaînes en ordre naturel.
Exemples montrant les pièges de natsort
]]>
&example.outputs;
-5
[1] => 3
[2] => -2
[3] => 0
[4] => -1000
[5] => 9
[6] => 1
)
Array
(
[2] => -2
[0] => -5
[4] => -1000
[3] => 0
[6] => 1
[1] => 3
[5] => 9
)
Alignement avec zéros
Array
(
[0] => 09
[1] => 8
[2] => 10
[3] => 009
[4] => 011
[5] => 0
)
Array
(
[5] => 0
[1] => 8
[3] => 009
[0] => 09
[2] => 10
[4] => 011
)
]]>
&reftitle.seealso;
natcasesort&seealso.array.sorting;strnatcmpstrnatcasecmp