Maison  >  Article  >  développement back-end  >  Comment trier un tableau multidimensionnel par une clé spécifique à l'aide de usort() de PHP ?

Comment trier un tableau multidimensionnel par une clé spécifique à l'aide de usort() de PHP ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-20 19:08:30127parcourir

How to Sort a Multidimensional Array by a Specific Key Using PHP's usort()?

Tri d'un tableau multidimensionnel par une clé spécifique

Dans le domaine de la programmation, le tri des données est une opération fondamentale, en particulier lorsque l'on travaille avec des tableaux . Lorsqu'il s'agit de tableaux multidimensionnels, la tâche de tri par une clé spécifique peut survenir.

Considérons la nécessité de trier un tableau multidimensionnel en fonction d'une clé, représentée par [statut] dans votre exemple de tableau. Pour y parvenir, nous pouvons exploiter la fonction usort() en PHP, qui nécessite une fonction de comparaison comme argument.

Fonction de comparaison

La fonction de comparaison pour usort( ) détermine l'ordre de tri en comparant deux éléments du tableau. Dans ce cas, nous voulons comparer les valeurs [status] des deux tableaux a et b :

function cmp($a, $b) {
    if ($a['status'] == $b['status']) {
        return 0;
    }
    return ($a['status'] < $b['status']) ? -1 : 1;
}
  • Si les deux tableaux ont la même valeur [status], il renvoie 0.
  • Si le [statut] du tableau a est inférieur à celui du tableau b, il renvoie -1.
  • Si le [statut] du tableau a est supérieur à celui du tableau b, il renvoie 1.

Tri du tableau

Maintenant que nous avons défini notre fonction de comparaison, nous pouvons l'appliquer pour trier le tableau en utilisant usort() :

usort($array, "cmp");

Cette commande modifiera le $array original sur place, en le triant en fonction de la fonction de comparaison.

En modifiant la fonction de comparaison, vous pouvez trier le tableau sur n'importe quelle clé de votre choix, offrant ainsi des capacités de tri flexibles pour vos tableaux multidimensionnels.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn