Maison >développement back-end >tutoriel php >Le tri des tableaux multidimensionnels PHP révélé : révéler les mystères des algorithmes de tri
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 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.
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. 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],
];
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!