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 ?

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
Linda Hamiltonoriginal
2024-10-20 19:07:02592parcourir

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
    ))

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!

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