Comment trier un tableau multidimensionnel en PHP ?
La fonction array_multisort permet de trier des tableaux multidimensionnels.
Considérons le tableau multidimensionnel suivant :
// Crée un tableau multidimensionnel
$tableau[] = array('nom' => 'Dupont', 'age' => 72);
$tableau[] = array('nom' => 'Albert', 'age' => 11);
$tableau[] = array('nom' => 'Durand', 'age' => 56);
$tableau[] = array('nom' => 'Michel', 'age' => 52);
$tableau[] = array('nom' => 'Dupont', 'age' => 36);
$tableau[] = array('nom' => 'Plutot', 'age' => 27);
La fonction array_multisort nécessite un tableau de colonnes qui va être isolé grâce à la fonction array_column. L'exemple suivant permet de trier le tableau par noms dans l'ordre croissant :
// Trie le tableau par la colonne nom dans l'ordre croissant
$colonne = array_column($tableau, 'nom');
array_multisort($colonne, SORT_ASC, $tableau);
L'exemple ci-dessous permet de trier le tableau par âge dans l'ordre décroissant :
// Trie le tableau par âges dans l'ordre décroissant
$colonne = array_column($tableau, 'age');
array_multisort($colonne, SORT_DESC, $tableau);
L'exemple suivant permet de trier le tableau par noms dans l'ordre croissant, puis par âge dans l'ordre décroissant :
// Trie le tableau par noms dans l'ordre croissant, puis par âge dans l'ordre décroissant
$colonne1 = array_column($tableau, 'nom');
$colonne2 = array_column($tableau, 'age');
array_multisort($colonne1, SORT_ASC, $colonne2, SORT_DESC, $tableau);
La fonction array_multisort permet de trier des tableaux multidimensionnels.
Considérons le tableau multidimensionnel suivant :
// Crée un tableau multidimensionnel
$tableau[] = array('nom' => 'Dupont', 'age' => 72);
$tableau[] = array('nom' => 'Albert', 'age' => 11);
$tableau[] = array('nom' => 'Durand', 'age' => 56);
$tableau[] = array('nom' => 'Michel', 'age' => 52);
$tableau[] = array('nom' => 'Dupont', 'age' => 36);
$tableau[] = array('nom' => 'Plutot', 'age' => 27);
La fonction array_multisort nécessite un tableau de colonnes qui va être isolé grâce à la fonction array_column. L'exemple suivant permet de trier le tableau par noms dans l'ordre croissant :
// Trie le tableau par la colonne nom dans l'ordre croissant
$colonne = array_column($tableau, 'nom');
array_multisort($colonne, SORT_ASC, $tableau);
L'exemple ci-dessous permet de trier le tableau par âge dans l'ordre décroissant :
// Trie le tableau par âges dans l'ordre décroissant
$colonne = array_column($tableau, 'age');
array_multisort($colonne, SORT_DESC, $tableau);
L'exemple suivant permet de trier le tableau par noms dans l'ordre croissant, puis par âge dans l'ordre décroissant :
// Trie le tableau par noms dans l'ordre croissant, puis par âge dans l'ordre décroissant
$colonne1 = array_column($tableau, 'nom');
$colonne2 = array_column($tableau, 'age');
array_multisort($colonne1, SORT_ASC, $colonne2, SORT_DESC, $tableau);
La fonction array_multisort permet de trier des tableaux multidimensionnels.
Considérons le tableau multidimensionnel suivant :
// Crée un tableau multidimensionnel
$tableau[] = array('nom' => 'Dupont', 'age' => 72);
$tableau[] = array('nom' => 'Albert', 'age' => 11);
$tableau[] = array('nom' => 'Durand', 'age' => 56);
$tableau[] = array('nom' => 'Michel', 'age' => 52);
$tableau[] = array('nom' => 'Dupont', 'age' => 36);
$tableau[] = array('nom' => 'Plutot', 'age' => 27);
La fonction array_multisort nécessite un tableau de colonnes qui va être isolé grâce à la fonction array_column. L'exemple suivant permet de trier le tableau par noms dans l'ordre croissant :
// Trie le tableau par la colonne nom dans l'ordre croissant
$colonne = array_column($tableau, 'nom');
array_multisort($colonne, SORT_ASC, $tableau);
L'exemple ci-dessous permet de trier le tableau par âge dans l'ordre décroissant :
// Trie le tableau par âges dans l'ordre décroissant
$colonne = array_column($tableau, 'age');
array_multisort($colonne, SORT_DESC, $tableau);
L'exemple suivant permet de trier le tableau par noms dans l'ordre croissant, puis par âge dans l'ordre décroissant :
// Trie le tableau par noms dans l'ordre croissant, puis par âge dans l'ordre décroissant
$colonne1 = array_column($tableau, 'nom');
$colonne2 = array_column($tableau, 'age');
array_multisort($colonne1, SORT_ASC, $colonne2, SORT_DESC, $tableau);
| # | ID | Query | URL | Count |
|---|---|---|---|---|
| 0 | 5198 | php Trier un tableau multidimensionnel selon 2 colonnes | https://fr.ans.wiki/2191/comment-trier-un-tableau-multidimensionnel-en-php | 1 |
| 1 | 4674 | php tri 1 colonne d'un tableau multidimensionnel | https://fr.ans.wiki/2191/comment-trier-un-tableau-multidimensionnel-en-php | 1 |
| 2 | 1411 | php trier une colonne tableau multidimension | https://fr.ans.wiki/2191/comment-trier-un-tableau-multidimensionnel-en-php | 2 |