Dans le domaine de la correspondance d'anagrammes, organiser les correspondances positives par ordre décroissant de leurs longueurs peut être une étape cruciale. Si vous êtes confronté à ce défi en PHP, voici une solution utilisant la puissante fonction usort.
<code class="php">function sortByLength($a, $b) { return strlen($b) - strlen($a); } usort($array, 'sortByLength');</code>
Cette fonction sortByLength personnalisée compare les longueurs de deux chaînes et renvoie une valeur négative si la première chaîne est plus longue. La fonction usort trie le tableau sur place à l'aide de la fonction de comparaison fournie.
Alternativement, si vous devez conserver les index du tableau d'origine, vous pouvez utiliser uasort à la place :
<code class="php">uasort($array, 'sortByLength');</code>
Alors que les deux usort et uasort offrent des solutions viables, usort est considéré comme un tri instable, ce qui signifie que des éléments égaux peuvent ne pas conserver leur ordre d'origine après le tri. Par conséquent, la version fournie garantit un comportement de tri stable.
Pour illustrer le processus de tri, considérons le tableau suivant :
<code class="php">$array = ["bbbbb", "dog", "cat", "aaa", "aaaa"];</code>
Après le tri, le tableau sera disposé comme suit :
[0] => "bbbbb" [1] => "aaaa" [2] => "aaa" [3] => "cat" [4] => "dog"
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!