Maison >développement back-end >tutoriel php >Comment trier des tableaux PHP multidimensionnels en fonction des valeurs du tableau interne ?

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

Susan Sarandon
Susan Sarandonoriginal
2024-11-03 03:40:31654parcourir

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>

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>

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>

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>

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!

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