Maison > développement back-end > tutoriel php > Comment puis-je trier les tableaux multidimensionnels en PHP par valeur ?

Comment puis-je trier les tableaux multidimensionnels en PHP par valeur ?

DDD
Libérer: 2024-12-24 01:45:10
original
177 Les gens l'ont consulté

How Can I Sort Multi-Dimensional Arrays in PHP by Value?

Tri des tableaux multidimensionnels par valeur

Le tri des données par valeur clé spécifique dans un tableau multidimensionnel est une tâche courante. Ceci peut être réalisé grâce à l'utilisation d'une fonction de tri définie par l'utilisateur en conjonction avec la fonction usort() ou uasort().

Pour trier un tableau par la touche "order", les étapes suivantes peuvent être suivies :

  1. Définir une fonction de tri (PHP 5.2 ou plus tôt):
function sortByOrder($a, $b) {
    if ($a['order'] > $b['order']) {
        return 1;
    } elseif ($a['order'] < $b['order']) {
        return -1;
    }
    return 0;
}
Copier après la connexion
  1. Utilisez usort() avec un trieur personnalisé:
usort($myArray, 'sortByOrder');
Copier après la connexion
  1. Fonction anonyme (PHP 5.3 ):
usort($myArray, function($a, $b) {
    if ($a['order'] > $b['order']) {
        return 1;
    } elseif ($a['order'] < $b['order']) {
        return -1;
    }
    return 0;
});
Copier après la connexion
  1. Opérateur de vaisseau spatial (PHP 7):
usort($myArray, function($a, $b) {
    return $a['order'] <=> $b['order'];
});
Copier après la connexion
  1. Fonction flèche (PHP 7.4) :
usort($myArray, fn($a, $b) => $a['order'] <=> $b['order']);
Copier après la connexion

Tri multidimensionnel :

Pour étendre le tri à plusieurs dimensions, la fonction de tri peut être utilisée de manière récursive :

usort($myArray, function($a, $b) {
    $retval = $a['order'] <=> $b['order'];
    if ($retval == 0) {
        $retval = $a['suborder'] <=> $b['suborder'];
        if ($retval == 0) {
            $retval = $a['details']['subsuborder'] <=> $b['details']['subsuborder'];
        }
    }
    return $retval;
});
Copier après la connexion

Clé de conservation Associations :

Pour conserver les associations clés pendant le tri, utilisez uasort() au lieu de usort(). Consultez le manuel PHP pour une comparaison des fonctions de tri de tableaux.

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.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal