En PHP, vous pouvez rencontrer des scénarios dans lesquels vous devez trier un tableau associatif plat basé sur des valeurs numériques puis par clés. Cela peut être une tâche difficile, surtout si vous n'êtes pas familier avec les techniques appropriées.
Une approche consiste à utiliser usort() pour comparer les valeurs et les clés simultanément. Cependant, cela peut être une solution fastidieuse et complexe.
Une solution plus simple et plus efficace consiste à utiliser les fonctions array_values() et array_keys() en conjonction avec array_multisort(). Cette technique permet d'obtenir le tri souhaité en une seule ligne de code :
array_multisort(array_values($arrTags), SORT_DESC, array_keys($arrTags), SORT_ASC, $arrTags);
Ce code isole les valeurs numériques et les clés dans des tableaux séparés, les trie respectivement par ordre décroissant et ascendant, puis fusionne les résultats revenir dans le tableau $arrTags d'origine.
Les $arrTags résultants seront triés par ordre décroissant par valeurs numériques puis par ordre croissant par clés, fournissant le format souhaité :
orange (4) banana (3) apple (2) mango (2)
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!