PHP - Tri tableau multidimensionnel en 1 ligne
PHP
[12/03/2019] Tri tableau multidimensionnel en 1 ligne
Sort multidimensional array with one line using plain PHP
Si comme moi, vous êtes adepte de code court, quand c'est possible, voici une astuce en PHP qui vous permettra de trier un tableau PHP multidimensionnel par clé en une seule ligne.
Prenons ce tableau multidimensionnel par exemple :
Vous souhaitez trier ce tableau par les noms (clé : name) :
Vous souhaitez trier ce tableau par les poids (clé : weight) :
Vous avez donc trier ce tableau dans l'ordre croissant suivant les clés.
Maintenant vous pouvez effectuer les mêmes tris par ordre décroissant.
Trions alors ce tableau par ordre décroissant par les noms (clé : name) :
Et maintenant, trions ce tableau par ordre décroissant par les poids (clé : weight) :
Astuce simple et pourtant très efficace.
Bon code ;-)
Prenons ce tableau multidimensionnel par exemple :
$array = array(
array('name' => 'Bill', 'weight' => 77),
array('name' => 'Roger', 'weight' => 105),
array('name' => 'Arthur', 'weight' => 64),
array('name' => 'Paul', 'weight' => 89),
array('name' => 'Christophe', 'weight' => 56),
array('name' => 'Jeannette', 'weight' => 62),
array('name' => 'Karl', 'weight' => 78),
);
Vous souhaitez trier ce tableau par les noms (clé : name) :
array_multisort( array_column($array, "name"), SORT_ASC, $array );
Vous souhaitez trier ce tableau par les poids (clé : weight) :
array_multisort( array_column($array, "weight"), SORT_ASC, $array );
Vous avez donc trier ce tableau dans l'ordre croissant suivant les clés.
Maintenant vous pouvez effectuer les mêmes tris par ordre décroissant.
Trions alors ce tableau par ordre décroissant par les noms (clé : name) :
array_multisort( array_column($array, "name"), SORT_DESC, $array );
Et maintenant, trions ce tableau par ordre décroissant par les poids (clé : weight) :
array_multisort( array_column($array, "weight"), SORT_DESC, $array );
Astuce simple et pourtant très efficace.
Bon code ;-)