Question #2191   Proposée par Answiki le 05/11/2021 à 19:20:52 UTC

Comment trier un tableau multidimensionnel en PHP ?

Answer   Submitted by Answiki on 09/05/2022 at 08:42:08 PM UTC

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);

3 events in history
Answer by Answiki on 09/05/2022 at 08:42:08 PM

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);

Answer by Answiki on 11/05/2021 at 07:22:16 PM

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);

Question by Answiki 11/05/2021 at 07:20:52 PM
Comment trier un tableau multidimensionnel en PHP ?
# 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

Icons proudly provided by Friconix.