Comment trier un tableau PHP par longueur de valeur ?

Mary-Kate Olsen
Libérer: 2024-11-03 10:08:29
original
260 Les gens l'ont consulté

How to Sort a PHP Array by Value Length?

PHP : Optimisation du tri des tableaux par longueur de valeur

Lorsque vous travaillez avec des tableaux de valeurs de longueur variable, les trier en fonction de la longueur de leurs éléments peut être crucial pour organiser efficacement les données. Cet article présente une solution pratique à ce problème courant.

Solution :

Le site Web php.net propose une solution utilisant la fonction usort en conjonction avec une fonction de comparaison personnalisée . La fonction personnalisée, sortByLength, compare les longueurs de deux éléments du tableau et renvoie la différence. En spécifiant un ordre décroissant dans la comparaison, les valeurs du tableau les plus longues apparaissent en premier lorsque le tableau est trié.

<code class="php">function sortByLength($a,$b){
    return strlen($b)-strlen($a);
}

usort($array,'sortByLength');</code>
Copier après la connexion

Notez que cette méthode utilise un tri instable, ce qui signifie que les éléments égaux peuvent changer leur ordre relatif pendant tri.

Alternativement, la fonction uasort peut être utilisée pour conserver les index d'origine.

<code class="php">uasort($array, 'sortByLength');</code>
Copier après la connexion

Exemple :

Pour illustrer cette solution, considérons le tableau suivant :

<code class="php">$array = array("bbbbb", "dog", "cat", "aaa", "aaaa");</code>
Copier après la connexion

Résultats du tri :

En utilisant la fonction sortByLength, le tableau trié apparaîtrait comme suit :

<code class="php">[
    0 => "bbbbb",
    1 => "aaaa",
    2 => "aaa",
    3 => "cat",
    4 => "dog"
]</code>
Copier après la connexion

Pendant ce temps, l'ordre original des éléments de longueurs égales est conservé.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal