ASORT |
Tri tableau |
PHP 4.0+ |
Syntaxe
function asort($array);
|
function asort($array, $sort_flags);
|
Paramètres
Nom |
Description |
$array |
Ce paramètre permet d'indiquer le tableau à traiter. |
$sort_flags |
Ce paramètre permet d'indiquer le mode de traitement a effectuer : |
SORT_REGULAR |
Cette constante permet d'indiquer qu'un tri régulier. C'est la valeur par défaut. |
SORT_NUMERIC |
Cette constante permet d'indiquer qu'un tri en ordre numérique. |
SORT_STRING |
Cette constante permet d'indiquer qu'un tri en ordre de chaîne de caractères. |
SORT_LOCALE_STRING |
Cette constante permet d'indiquer qu'un tri en ordre de chaîne de caractères selon la région locale. |
Retour
Valeur |
Description |
tableau |
Ces valeurs permettent d'indiquer le tableau traité. |
Description
Cette fonction permet d'effectuer une tri des éléments d'un tableau et/ou haché («hach») dans l'ordre inversé en préservant l'association des index.
Remarques
- Conservation des clefs associatives : Contrairement à la fonction sort, asort préserve les clefs associatives du tableau. Cela signifie que si vous
avez un tableau associatif, les clés ne seront pas réindexées, ce qui peut être crucial pour des cas où les clefs portent une signification importante, comme des identifiants
ou des noms.
- Tri selon les valeurs : La fonction asort trie un tableau en fonction de ses valeurs, et non de ses clefs. Si deux valeurs sont égales, leur ordre
d'origine sera conservé grâce au tri stable (stable sort) utilisé par asort, garantissant ainsi une cohérence.
- Sensible à la casse : Lors du tri des chaînes de caractères, asort est sensible à la casse par défaut. Ainsi, les majuscules seront triées avant les
minuscules dans l'ordre ASCII. Cela peut produire des résultats inattendus si vous ne le prenez pas en compte.
- Tri basé sur le type des données : asort trie les valeurs en tenant compte de leur type. Par exemple, les chaînes de caractères et les nombres entiers
seront comparés différemment. Une chaîne de caractères "10" sera considérée comme inférieure à un entier 2 si elles sont comparées en tant que chaînes.
- Retourne un booléen : La fonction retourne true en cas de succès et false en cas d'échec. Si vous oubliez de vérifier le résultat, vous pourriez
manquer des erreurs potentielles dans le tri, comme le passage d'une variable qui n'est pas un tableau.
- Effet direct sur le tableau : asort modifie directement le tableau passé en paramètre. Il n'en crée pas une copie triée. Si vous voulez conserver le tableau
d'origine, il est nécessaire d'utiliser une méthode pour dupliquer le tableau avant le tri.
- Comparaison personnalisée non supportée : Contrairement à uasort, asort ne permet pas de fournir une fonction de comparaison personnalisée. Si vous
avez besoin de règles spécifiques pour le tri, vous devrez opter pour une alternative comme uasort.
- Performance dépendant de la taille du tableau : La complexité algorithmique du tri effectué par asort est généralement O(n log n), ce qui est
efficace pour des tableaux de taille modérée. Cependant, pour des tableaux très volumineux, vous pourriez observer des ralentissements notables, en particulier si les valeurs
nécessitent des conversions ou des comparaisons complexes.
Dernière mise à jour : Dimanche, le 22 mars 2015