Comment trier des tableaux multidimensionnels par une clé spécifique à l'aide de la fonction usort et de la fonction de comparaison personnalisée ?

Linda Hamilton
Libérer: 2024-10-20 19:07:02
original
475 Les gens l'ont consulté

How to Sort Multidimensional Arrays by a Specific Key Using usort and Custom Comparison Function?

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
    ))
Copier après la connexion

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");
Copier après la connexion

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!

source:php
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!