Maison  >  Article  >  développement back-end  >  Comment trier un tableau PHP par longueur de chaîne par ordre décroissant ?

Comment trier un tableau PHP par longueur de chaîne par ordre décroissant ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-01 04:44:27191parcourir

How to Sort a PHP Array by String Length in Descending Order?

Tri d'un tableau par longueur de valeur en PHP

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!

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