8.3 Tableaux
8 Référence des fonctions
Manuel PHP
. Introduction . Pré-requis . Installation . Configuration à l'exécution . Types de ressources . Constantes pré-définies . Voir aussi . array_change_key_case . array_chunk . array_combine . array_count_values . array_diff_assoc . array_diff_key . array_diff_uassoc . array_diff_ukey . array_diff . array_fill . array_filter . array_flip . array_intersect_assoc . array_intersect_key . array_intersect_uassoc . array_intersect_ukey . array_intersect . array_key_exists . array_keys . array_map . array_merge_recursive . array_merge ->array_multisort . array_pad . array_pop . array_product . array_push . array_rand . array_reduce . array_reverse . array_search . array_shift . array_slice . array_splice . array_sum . array_udiff_assoc . array_udiff_uassoc . array_udiff . array_uintersect_assoc . array_uintersect_uassoc . array_uintersect . array_unique . array_unshift . array_values . array_walk_recursive . array_walk . array . arsort . asort . compact . count . current . each . end . extract . in_array . key . krsort . ksort . list . natcasesort . natsort . next . pos . prev . range . reset . rsort . shuffle . sizeof . sort . uasort . uksort . usort
|
8.3.30 array_multisort()Tri multi-dimensionnel de tableaux[ Exemples avec array_multisort ] PHP 4, PHP 5
bool
array_multisort (
array
ar1
,
mixed
arg
,
mixed
...
,
array
...
)
Cette fonction retourne
TRUE
en cas de
succès,
FALSE
en cas d'échec.
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 associatives ( chaîne de caractères ) seront maintenues, mais
les clés numériques seront réindexées.
Les tableaux passés en arguments
ar1
,
arg
,
...
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. Par la suite, chaque argument
peut être soit un tableau, soit une option de tri prise parmis les valeurs
suivantes :
Options de tri :
-
SORT_ASC
: Tri en ordre ascendant
-
SORT_DESC
: Tri en ordre descendant
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
.
| Trier plusieurs tableaux |
<?php $ar1 = array("10", 100, 100, "a"); $ar2 = array(1, 3, "2", 1); array_multisort($ar1, $ar2);
var_dump($ar1); var_dump($ar2); ?>
|
| Classer un tableau multi-dimensionnel |
<?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); ?>
|
| Classer les résultats d'une base de données | |
Dans cet exemple, chaque élément du tableau
data
représente une ligne de la table. Ce type de données est typique d'un
enregistrement de base de données.
|
| Tri non sensible à la casse | |
SORT_STRING
et
SORT_REGULAR
sont sensibles à la casse, les chaînes
de caractères commençant avec une lettre en majuscule viendront avant
les chaînes de caractères commençant par une lettre en minuscule.
|
|