Maison > Article > développement back-end > fonction array_multisort() en PHP
La fonction
array_multisort() est utilisée pour trier des tableaux multiples ou multidimensionnels. Il renvoie un tableau trié.
array_multisort(arr1, sort_order, sort_type, arr2, arr3, arr4...)
arr1 − Tableau à trier
sort_order − Ordre de tri. Voici les valeurs possibles
- SORT_ASC - Par défaut. Trier par ordre croissant (A-Z)
- SORT_DESC - Trier par ordre décroissant (Z-A)
sort_type − Comportement de tri. Voici les valeurs possibles
SORT_REGULAR - Par défaut. Comparez les éléments de la manière normale (ASCII standard)
SORT_NUMERIC - Comparez les éléments sous forme de valeurs numériques
SORT_STRING - Comparez les éléments sous forme de chaînes
SORT_LOCALE_STRING - Comparez les éléments sous forme de chaînes, en fonction de la localisation actuelle ( peut être modifié en utilisant setlocale())
SORT_NATURAL - Compare les éléments sous forme de chaînes en utilisant "l'ordre naturel", similaire à natsort()
SORT_FLAG_CASE - Peut être combiné avec SORT_STRING ou SORT_NATURAL (par bitwise OR) pour la casse- tri de chaînes insensible.
arr2 − Un autre tableau. Facultatif
arr3 − Un autre tableau. Facultatif.
arr4 − Un autre tableau. Facultatif. La fonction
array_multisort() renvoie un tableau trié.
Démonstration
<?php $a1 = array(12, 55, 3, 9, 99); $a2 = array(44, 67, 22, 78, 46); array_multisort($a1,$a2); print_r($a1); print_r($a2); ?>
Array ( [0] => 3 [1] => 9 [2] => 12 [3] => 55 [4] => 99 ) Array ( [0] => 22 [1] => 78 [2] => 44 [3] => 67 [4] => 46 )
Voyons un autre exemple de fusion de deux tableaux et de les trier par ordre croissant.
Démo en ligne
<?php $a1 = array(12, 55, 3, 9, 99); $a2 = array(44, 67, 22, 78, 46); $num = array_merge($a1,$a2); array_multisort($num,SORT_ASC,SORT_NUMERIC); print_r($num); ?>
Array ( [0] => 3 [1] => 9 [2] => 12 [3] => 22 [4] => 44 [5] => 46 [6] => 55 [7] => 67 [8] => 78 [9] => 99 )
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!