Sommaire
Tableaux
array
array_chunk
array_count_values
array_diff
array_filter
array_flip
array_fill
array_intersect
array_keys
array_map
array_merge
array_merge_recursive
array_multisort
array_pad
array_pop
array_push
array_reverse
array_reduce
array_rand
array_shift
array_slice
array_splice
array_sum
array_unique
array_unshift
array_values
array_walk
arsort
asort
compact
count
current
each
end
extract
in_array
array_search
key
krsort
ksort
list
natsort
natcasesort
next
pos
prev
range
reset
rsort
shuffle
sizeof
sort
uasort
uksort
usort
|
6.2.13 array_multisort[ Exemples avec array_multisort ] PHP 4 >= 4.0.0Description
boolean array_multisort(array ar1 ,[mixed arg ],[mixed ... ],[array ... ])
array_multisort sert à trier simultanément
plusieurs tableaux, ou bien à trier un tableau multi-dimensionnel,
suivant l'une ou l'autre de ses dimensions. Les clés sont
préservées.
Les tableaux passés en arguments sont traités comme les colonnes
d'une table, triées par lignes (un peu comme la clause SQL ORDER BY).
Le premier tableau est la clé primaire de tri. Les valeurs du premier
tableau qui sont égales, sont triées grâce au tableau suivant,
et ainsi de suite...
La structure des arguments de array_multisort est un peu
inhabituelle, mais elle est plus souple. Le premier argument DOIT être
un tableau, mais les arguments suivants peuvent être des tableaux ou
une ou deux options de tri, prises dans les valeurs suivantes :
Options de tri :
Options de type de tri :
SORT_REGULAR - Comparaison normale des valeurs
SORT_NUMERIC - Comparaison numérique des valeurs
SORT_STRING - Comparaison alphabétique des valeurs
Une seule option de tri de chaque type peut être appliquée
après un tableau. Une option ne s'applique qu'au tableau
précédent. Tous les autres sont mis par défaut
à SORT_ASC et SORT_REGULAR.
array_multisort retourne TRUE
en cas de succès, FALSE sinon.
Trier plusieurs tableaux |
<?php $ar1 = array ("10", 100, 100, "a"); $ar2 = array (1, 3, "2", 1); array_multisort ($ar1, $ar2); ?>
|
Dans cet exemple, après le tri, le premier
tableau contient 10, "a", 100, 100; Le deuxième tableau
contient 1, 1, "2", 3. Les entrées du second tableau
correspondant aux valeurs jumelles du premier
tableau (100 et 100), sont aussi triées.
Classer un tableau multidimensionnel |
<?php $ar = array (array ("10", 100, 100, "a"), array (1, 3, "2", 1)); array_multisort ($ar[0], SORT_ASC, SORT_STRING, $ar[1], SORT_NUMERIC, SORT_DESC); ?>
|
Dans cet exemple, après le tri, le premier tableau contient
10, 100, 100, "a" (tri alphabétique, ordre croissant); Le
deuxième tableau contient 1, 3, "2", 1 (tri
numérique, ordre décroissant).
|