Fonction array_multisort() de PHP
Exemple
Retourne un tableau trié en ordre croissant :
<?php $a=array("Dog","Cat","Horse","Bear","Zebra"); array_multisort($a);; print_r($a); ?>
Définition et utilisation
La fonction array_multisort() retourne un tableau trié. Vous pouvez entrer un ou plusieurs tableaux. La fonction trie d'abord le premier tableau, puis les autres tableaux, et si deux ou plusieurs valeurs sont identiques, elle trie le tableau suivant.
Remarque :Les noms de clé de chaîne seront conservés, mais les noms de clé numériques seront réindexés, commençant à 0 et augmentant de 1.
Remarque :Vous pouvez définir les paramètres d'ordre et de type de tri après chaque tableau. Si non définis, chaque paramètre de tableau utilisera la valeur par défaut.
Syntaxe
array_multisort(array1,ordre de tri,type de tri,array2,array3...)
Paramètres | Description |
---|---|
array1 | Requis. Définir un tableau. |
ordre de tri |
Optionnel. Définir l'ordre de tri. Les valeurs possibles sont :
|
type de tri |
Optionnel. Définir le type de tri. Les valeurs possibles sont :
|
array2 | Optionnel. Définir un tableau. |
array3 | Optionnel. Définir un tableau. |
Description
La fonction array_multisort() trie plusieurs tableaux ou tableaux multidimensionnels.
Les tableaux dans les paramètres sont considérés comme des colonnes d'une table et sont triés par rang - cela ressemble à la fonction ORDER BY de SQL. Le premier tableau est le tableau principal à trier. Si les rangs (valeurs) des tableaux sont comparés de manière égale, ils sont ensuite triés en fonction de la taille des valeurs correspondantes dans le prochain tableau d'entrée, et ainsi de suite.
Le premier paramètre est un tableau, chaque paramètre suivant peut être un tableau ou l'un des suivants, des indicateurs d'ordre de tri (les indicateurs de tri sont utilisés pour modifier l'ordre par défaut) :
- SORT_ASC - Par défaut, trier par ordre croissant. (A-Z)
- SORT_DESC - Trier par ordre décroissant. (Z-A)
Il est ensuite possible de spécifier le type de tri :
- SORT_REGULAR - Par défaut. Trier chaque élément dans l'ordre habituel.
- SORT_NUMERIC - Trier chaque élément dans l'ordre numérique.
- SORT_STRING - Trier chaque élément par ordre alphabétique.
Détails techniques
Valeur de retour : | Retourne TRUE si succès, FALSE si échec. |
Version PHP : | 4+ |
Journal des mises à jour : |
Les types de tri SORT_NATURAL et SORT_FLAG_CASE ont été ajoutés dans PHP 5.4. Le type de tri SORT_LOCALE_STRING a été ajouté dans PHP 5.3. |
Plus d'exemples
Exemple 1
Retourne un tableau trié en ordre croissant :
<?php $a1=array("Dog","Cat"); $a2=array("Fido","Missy"); array_multisort($a1,$a2); print_r($a1); print_r($a2); ?>
Exemple 2
Comment trier lorsque deux valeurs sont égales :
<?php $a1=array("Dog","Dog","Cat"); $a2=array("Pluto","Fido","Missy"); array_multisort($a1,$a2); print_r($a1); print_r($a2); ?>
Exemple 3
Utiliser les paramètres de tri :
<?php $a1=array("Dog","Dog","Cat"); $a2=array("Pluto","Fido","Missy"); array_multisort($a1,SORT_ASC,$a2,SORT_DESC); print_r($a1); print_r($a2); ?>
Exemple 4
Fusionner deux tableaux et les trier par ordre décroissant des nombres :
<?php $a1=array(1,30,15,7,25); $a2=array(4,30,20,41,66); $num=array_merge($a1,$a2); array_multisort($num,SORT_DESC,SORT_NUMERIC); print_r($num); ?>