Maison >développement back-end >tutoriel php >Comment trier des tableaux multidimensionnels personnalisés en fonction d'une clé spécifique en PHP ?

Comment trier des tableaux multidimensionnels personnalisés en fonction d'une clé spécifique en PHP ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-20 19:04:02753parcourir

How to Custom Sort Multidimensional Arrays Based on a Specific Key in PHP?

Tri personnalisé des tableaux multidimensionnels

Le tri des tableaux multidimensionnels peut être une tâche courante en programmation. Cet article montre comment trier un tel tableau en fonction d'une clé spécifique à l'aide de la fonction PHP usort().

Comprendre la tâche

Considérez le tableau multidimensionnel suivant où chaque l'élément représente un enregistrement :

<code class="php">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
        ))</code>

Tri par une clé

Pour trier ce tableau par la clé "statut", nous devons définir une fonction de comparaison qui détermine l'ordre des éléments.

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

Cette fonction compare les valeurs de "statut" de deux éléments. Si les valeurs sont égales, il renvoie 0. Si le premier élément a une valeur de « statut » inférieure à celle du second, il renvoie -1. Sinon, il renvoie 1.

Utilisation de usort()

Nous pouvons maintenant utiliser la fonction usort() pour trier le tableau à l'aide de notre fonction de comparaison :

<code class="php">usort($array, "cmp");</code>

Cela triera le tableau par ordre croissant en fonction de la clé « statut ». Le tableau modifié verra ses éléments réorganisés en conséquence.

Personnalisation de la comparaison

La fonction de comparaison peut être personnalisée pour trier le tableau en fonction de n'importe quelle clé. Modifiez simplement la fonction pour comparer les valeurs clés souhaitées. Cela offre une flexibilité dans le tri des tableaux multidimensionnels en fonction de différents critères.

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