Comment trier des tableaux PHP multidimensionnels en fonction des valeurs du tableau interne ?

Susan Sarandon
Libérer: 2024-11-03 03:40:31
original
604 Les gens l'ont consulté

How to Sort Multi-Dimensional PHP Arrays Based on Inner Array Values?

Tri des tableaux PHP multidimensionnels en fonction des valeurs du tableau interne

Le tri des tableaux multidimensionnels peut être délicat, en particulier lorsque le paramètre de tri est enfoui dans des tableaux imbriqués. Pour trier une table de hachage PHP en fonction d'une valeur dans le tableau interne, comme trier un tableau de tableaux par la clé « nom », une fonction de tri personnalisée est requise.

Création d'une fonction de tri personnalisée

Création d'une fonction de tri personnalisée

<code class="php">function cmp($a, $b) {
    return $b['name'] - $a['name'];
}</code>
Copier après la connexion

Une méthode de tri basée sur des valeurs imbriquées consiste à créer une fonction de tri personnalisée qui extrait la valeur souhaitée du tableau interne :

Dans cet exemple, la fonction cmp compare les clés 'name' dans les tableaux internes. Le tri par ordre décroissant est obtenu en soustrayant les valeurs plutôt qu'en les additionnant.

Utilisation de la fonction de tri

<code class="php">usort($mydata, "cmp");</code>
Copier après la connexion

Pour utiliser la fonction de tri personnalisée, appliquez usort au tableau :

Cela trie le tableau $mydata par ordre décroissant en fonction de la clé 'name' dans les tableaux internes.

Méthode alternative

<code class="php">function array_sort($array, $on, $order=SORT_ASC){

   // ... (function definition) ...

   // ... (sorting logic) ...

}</code>
Copier après la connexion

Selon le cas d'utilisation spécifique, une autre option pour trier les tableaux multidimensionnels est la fonction array_sort :

<code class="php">$list = array(
   array( 'type' => 'suite', 'name' => 'A-Name'),
   array( 'type' => 'suite', 'name' => 'C-Name'),
   array( 'type' => 'suite', 'name' => 'B-Name')
);

$list = array_sort($list, 'name', SORT_ASC);</code>
Copier après la connexion

La fonction array_sort peut être utilisée comme suit pour trier par ordre croissant par la touche 'name' :

Cette méthode alternative fournit une solution complète pour trier les tableaux multidimensionnels en fonction des valeurs des tableaux internes.

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