PHP : Trier un tableau en fonction de la longueur de ses valeurs ?

J'ai fait une machine à anagrammes et j'ai un tableau de correspondances positives. Le problème est qu'ils sont tous dans un ordre différent, je veux pouvoir trier le tableau afin que les valeurs de tableau les plus longues apparaissent en premier.

Quelqu'un a des idées sur la façon de faire cela?


Solution du problème

Ordre décroissant:

$array = ['aa', 'bb', 'c', 'ccc', 'a', 'ertre'];
usort($array, function($a, $b){
return strlen($a) < strlen($b);
});
var_export($array);
// Output
array (
0 => 'ertre',
1 => 'ccc',
2 => 'aa',
3 => 'bb',
4 => 'c',
5 => 'a',
)

Ordre croissant:

$array = ['aa', 'bb', 'c', 'ccc', 'a', 'ertre'];
usort($array, function($a, $b){
return strlen($a) > strlen($b);
});
// Output
array (
0 => 'c',
1 => 'a',
2 => 'aa',
3 => 'bb',
4 => 'ccc',
5 => 'ertre',
)

Commentaires

Posts les plus consultés de ce blog

Comment signer la connexion OKEx API version 5 avec websockets ?

La fonction GCP Cloud pour écrire des données dans BigQuery s'exécute avec succès, mais les données n'apparaissent pas dans la table BigQuery

Erreur Symfony : "Une exception a été levée lors du rendu d'un modèle"