Maison >développement back-end >tutoriel php >Comment trier des tableaux multidimensionnels par une clé spécifique à l'aide de la fonction usort et de la fonction de comparaison personnalisée ?
Tri des tableaux multidimensionnels par clé
Une tâche courante lorsque l'on travaille avec des tableaux multidimensionnels est la nécessité de les trier en fonction d'une clé spécifique. Par exemple, considérons le tableau suivant :
Array ( [0] => Array ( [iid] => 1 [invitee] => 174 [nid] => 324343 [showtime] => 2010-05-09 15:15:00 [location] => 13 [status] => 1 [created] => 2010-05-09 15:05:00 [updated] => 2010-05-09 16:24:00 ) [1] => Array ( [iid] => 1 [invitee] => 220 [nid] => 21232 [showtime] => 2010-05-09 15:15:00 [location] => 12 [status] => 0 [created] => 2010-05-10 18:11:00 [updated] => 2010-05-10 18:11:00 ))
Pour trier ce tableau par la clé [status], vous pouvez utiliser la fonction usort avec une fonction de comparaison personnalisée :
// Define a comparison function function cmp($a, $b) { if ($a['status'] == $b['status']) { return 0; } return ($a['status'] < $b['status']) ? -1 : 1; } // Sort the array using the custom comparison function usort($array, "cmp");
En définissant la fonction cmp, vous spécifiez comment les éléments doivent être comparés lors du tri. Dans ce cas, il compare la clé [status] des deux éléments, renvoyant -1 si $a['status'] est inférieur à $b['status'], 0 s'ils sont égaux et 1 sinon.
La fonction usort organise les éléments du tableau par ordre croissant en fonction de la sortie de la fonction de comparaison. Cela vous permet de trier le tableau multidimensionnel selon la clé souhaitée, dans ce cas, [status].
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!