La fonction array_multisort() en php peut être utilisée pour trier plusieurs tableaux à la fois, ou pour trier des tableaux multidimensionnels selon une certaine dimension ou plusieurs dimensions. Cet article vous explique comment utiliser la fonction array_multisort.
La fonction array_multisort() renvoie un tableau trié. Vous pouvez saisir un ou plusieurs tableaux. La fonction trie d'abord le premier tableau, puis les autres tableaux, et si deux valeurs ou plus sont identiques, elle trie le tableau suivant.
Remarque : les noms de clés de chaîne seront conservés, mais les noms de clés numériques seront réindexés, en commençant à 0 et en augmentant de 1.
Remarque : Vous pouvez définir les paramètres d'ordre de tri et de type de tri après chaque tableau. S'il n'est pas défini, chaque paramètre du tableau utilisera sa valeur par défaut.
Syntaxe
array_multisort(array1,ordre de tri,type de tri,array2,array3...)
Description du paramètre
Valeur de retour
Renvoie VRAI en cas de succès, ou FAUX en cas d'échec.
Description
La fonction array_multisort() trie plusieurs tableaux ou tableaux multidimensionnels.
Le tableau du paramètre est traité comme une colonne de table et trié par ligne - ceci est similaire à la fonctionnalité de la clause ORDER BY de SQL. Le premier tableau est le tableau principal à trier. Si les lignes (valeurs) du tableau sont identiques, elles seront triées en fonction de la taille de la valeur correspondante dans le tableau d'entrée suivant, et ainsi de suite.
Le premier paramètre est un tableau, et chaque paramètre suivant peut être un tableau ou l'un des indicateurs d'ordre de tri suivants (l'indicateur de tri est utilisé pour modifier l'ordre de tri par défaut) :
SORT_ASC - Par défaut, trier par ordre croissant. (A-Z)
SORT_DESC - Trier par ordre décroissant. (Z-A)
Le type de tri peut alors être précisé :
SORT_REGULAR - par défaut. Disposez chaque élément dans un ordre régulier.
SORT_NUMERIC - Triez chaque élément par ordre numérique.
SORT_STRING - Triez chaque élément par ordre alphabétique.
Exemple 1 :
Trier un tableau multidimensionnel
<?php $ar = array( array("10",11,100,100,"a"), array(1,2,"2",3,1) ); array_multisort($ar[0], SORT_ASC,SORT_STRING,$ar[1],SORT_NUMERIC,SORT_DESC); var_dump($ar); ?>
Dans cet exemple, après tri, le premier tableau deviendra "10", 100, 100, 11, "a" (traité comme une chaîne par ordre croissant). Le deuxième tableau contiendra 1, 3, "2", 2, 1 (traités comme des nombres par ordre décroissant).
Résultats en cours d'exécution :
array(2) { [0]=> array(5) { [0]=> string(2) "10" [1]=> int(100) [2]=> int(100) [3]=> int(11) [4]=> string(1) "a" } [1]=> array(5) { [0]=> int(1) [1]=> int(3) [2]=> string(1) "2" [3]=> int(2) [4]=> int(1) } }
Exemple 2 :
Tri insensible à la casse
SORT_STRING et SORT_REGULAR sont sensibles à la casse et les lettres majuscules seront triées avant les lettres minuscules.
Pour effectuer un tri insensible à la casse, triez par lettres minuscules du tableau d'origine.
<?php $array=array('Alpha','atomic','Beta','bank'); $array_lowercase=array_map('strtolower',$array); array_multisort($array_lowercase,SORT_ASC,SORT_STRING,$array); print_r($array); ?>
Résultats en cours d'exécution :
Array ( [0] => Alpha [1] => atomic [2] => bank [3] => Beta )
Merci d'avoir lu, j'espère que cela pourra aider tout le monde , merci à tous. Soutenez ce site !
Pour plus d'explications détaillées sur php array_multisort et des exemples de codes pour trier les tableaux, veuillez faire attention au site Web PHP chinois !