Maison  >  Article  >  développement back-end  >  Comment trier un tableau multidimensionnel par clé : une solution étape par étape ?

Comment trier un tableau multidimensionnel par clé : une solution étape par étape ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-20 19:02:02580parcourir

How to Sort a Multidimensional Array by Key: A Step-by-Step Solution?

Tri d'un tableau multidimensionnel par clé : un guide complet

Organiser les éléments d'un tableau multidimensionnel dans un ordre spécifique peut être une exigence courante en programmation. Le tri par une clé particulière offre un moyen efficace d'organiser et de récupérer des données.

Considérez le tableau multidimensionnel suivant contenant des invitations :

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é « statut », nous peut utiliser la fonction usort() et une fonction de comparaison personnalisée.

Fonction de comparaison personnalisée

La fonction de comparaison détermine l'ordre des éléments en comparant leurs clés. Voici une fonction qui compare en fonction de la clé « statut » :

function cmp($a, $b) {
    if ($a['status'] == $b['status']) {
        return 0;
    }
    return ($a['status'] < $b['status']) ? -1 : 1;
}

Cette fonction renvoie -1 lorsque $a doit venir avant $b, 1 lorsque $a doit venir après $b et 0 lorsqu'ils sont égaux.

Tri du tableau

Nous pouvons maintenant trier le tableau en utilisant usort() :

usort($array, "cmp");

Cela triera le tableau par la touche "statut" par ordre croissant. Si nous voulons inverser l'ordre, nous pouvons utiliser rsort() :

rsort($array, "cmp");

En utilisant la fonction de comparaison et les fonctions de tri fournies, nous pouvons trier sans effort les tableaux multidimensionnels selon n'importe quelle clé souhaitée.

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