(PHP 4, PHP 5, PHP 7, PHP 8)
sort — Trie un tableau en ordre croissant
Trie array
sur place suivant les valeurs en ordre croissant.
Note:
Si deux membres se comparent comme égaux, ils maintiennent leur ordre original. Antérieur à PHP 8.0.0, leur ordre relatif dans le tableau trié n'est pas défini.
Note: Cette fonction assigne de nouvelles clés aux éléments dans
array
. Elle effacera toutes les clés existantes qui ont pu être assignées, plutôt que de réarranger les clés.
Note:
Réinitialise le pointeur interne du tableau au premier élément.
array
Le tableau d'entrée.
flags
Le deuxième paramètre optionnel flags
peut être utilisé pour modifier le comportement de tri en utilisant ces valeurs :
Type de drapeaux de tri :
SORT_REGULAR
- compare items normally; the details are described in the comparison operators sectionSORT_NUMERIC
- compare les éléments numériquementSORT_STRING
- compare les éléments comme des chaînes de caractèresSORT_LOCALE_STRING
- compare les éléments comme des chaînes de caractères, basé sur la locale courante. Ceci utilise la locale, qui peut être changée en utilisant setlocale()SORT_NATURAL
- compare les éléments comme des chaînes de caractères utilisant "l'ordre naturel" comme natsort()SORT_FLAG_CASE
- peut être combiné (OU bit à bit) avec SORT_STRING
ou SORT_NATURAL
pour trier les chaînes sans tenir compte de la casse Retourne toujours true
.
Exemple #1 Exemple avec sort()
<?php
$fruits = array("lemon", "orange", "banana", "apple");
sort($fruits);
foreach ($fruits as $key => $val) {
echo "fruits[" . $key . "] = " . $val . "\n";
}
?>
L'exemple ci-dessus va afficher :
fruits[0] = apple fruits[1] = banana fruits[2] = lemon fruits[3] = orange
Les fruits ont été classés dans l'ordre alphabétique.
Exemple #2 Exemple avec sort() en utilisant l'ordre naturel sans tenir compte de la casse
<?php
$fruits = array(
"Orange1", "orange2", "Orange3", "orange20"
);
sort($fruits, SORT_NATURAL | SORT_FLAG_CASE);
foreach ($fruits as $key => $val) {
echo "fruits[" . $key . "] = " . $val . "\n";
}
?>
L'exemple ci-dessus va afficher :
fruits[0] = Orange1 fruits[1] = orange2 fruits[2] = Orange3 fruits[3] = orange20
Les fruits ont été classés comme ils l'auraient été avec la fonction natcasesort().
Note: Comme la plupart des fonctions de tri de PHP, sort() utilise une implémentation de » Quicksort. Le pivot est choisie au milieu de la partition, résultant ainsi en une optimisation du temps pour les tableaux déjà triés. Mais ceci ne reste qu'un détail de l'implémentation, n'ayant aucun impact pour vous.
Porter attention lors du tri des tableaux avec des valeurs de types différents car sort() peut produire des résultats imprévisible quand flags
est SORT_REGULAR
.