Quelle est la différence d'âge entre Emmanuel Macron et son épouse ?
Question proposée par Answiki le dimanche 25 novembre 2018 à 11:28:18.

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


Annuler
Réinitialiser
Valider
Réponse proposée par Answiki le dimanche 25 novembre 2018 à 11:49:37.
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 suivant 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 842 comment lineariser un tableau multidimensionnel https://ans.wiki/q/comment-trier-un-tableau-multidimensionnel-en-php 1