Maison  >  Article  >  développement back-end  >  Le tri des tableaux multidimensionnels PHP révélé : révéler les mystères des algorithmes de tri

Le tri des tableaux multidimensionnels PHP révélé : révéler les mystères des algorithmes de tri

WBOY
WBOYoriginal
2024-04-29 16:42:01860parcourir

PHP propose une variété de façons de trier des tableaux multidimensionnels : trier par une seule clé à l'aide des fonctions sort() et asort(), et trier par valeurs ascendantes et décroissantes respectivement. Écrivez des fonctions de tri personnalisées pour trier selon n'importe quelle clé et prendre en charge des règles complexes. Utilisez la fonction array_multisort() pour trier par plusieurs clés en même temps. Vous devez fournir la clé de tri et le tableau à trier.

Le tri des tableaux multidimensionnels PHP révélé : révéler les mystères des algorithmes de tri

Le tri de tableaux multidimensionnels PHP révélé : révéler les mystères des algorithmes de tri

Le tri de tableaux multidimensionnels est une tâche courante dans le développement PHP. Lors du tri d'un tableau multidimensionnel, vous pouvez trier selon une ou plusieurs clés. Cet article explorera l'algorithme de tri des tableaux multidimensionnels en PHP et fournira des exemples pratiques.

Algorithme

Fonctions intégrées sort() et asort()sort()asort()

  • sort() 根据键的自然顺序对关联数组按值递增排序。
  • asort() 根据键的自然顺序对关联数组按值递减排序。

自定义排序函数

自定义排序函数允许您按任意键进行排序。当您需要根据复杂规则排序时,此方法很有用。

function compare($a, $b) {
  return strcmp($a['name'], $b['name']);
}

内置函数 array_multisort()

array_multisort()

  • sort() selon à la clé L'ordre naturel trie les tableaux associatifs par valeur croissante.
  • asort() Trie un tableau associatif par ordre décroissant de valeurs selon l'ordre naturel des clés.

Fonction de tri personnalisé

La fonction de tri personnalisé vous permet de trier selon n'importe quelle clé. Cette méthode est utile lorsque vous devez trier en fonction de règles complexes.

$array = [
  ['name' => 'Alice', 'age' => 25],
  ['name' => 'Bob', 'age' => 32],
  ['name' => 'Eve', 'age' => 28],
];

La fonction intégrée array_multisort()

array_multisort() vous permet de trier en utilisant plusieurs touches en même temps. Il faut deux tableaux, l'un contenant la clé de tri et l'autre contenant le tableau à trier.

Cas pratiqueConsidérez le tableau multidimensionnel suivant :

usort($array, 'compare');
🎜🎜Trier par nom croissant🎜🎜
array_multisort(array_column($array, 'name'), SORT_ASC, array_column($array, 'age'), SORT_DESC);
🎜🎜Trier par nom croissant, âge décroissant🎜🎜
print_r($array);
// [
//   ['name' => 'Alice', 'age' => 25],
//   ['name' => 'Eve', 'age' => 28],
//   ['name' => 'Bob', 'age' => 32],
// ]
🎜🎜Sortir le tableau trié :🎜🎜rrreee

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