Maison >développement back-end >tutoriel php >Comment compter et trier les occurrences de mots dans une chaîne en PHP ?

Comment compter et trier les occurrences de mots dans une chaîne en PHP ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-21 10:26:02341parcourir

How to Count and Sort Word Occurrences in a String in PHP?

Tri et comptage des occurrences de mots dans une chaîne

Énoncé du problème :

Vous êtes présenté avec une chaîne contenant différents mots. La tâche à accomplir est de déterminer la fréquence de chaque mot dans la chaîne et de l'afficher de manière organisée.

Solution utilisant la fonction de comptage de mots de PHP :

PHP fournit la fonction str_word_count(), qui divise une chaîne en un tableau de mots individuels. En utilisant cette fonction en conjonction avec la fonction array_count_values(), nous pouvons compter efficacement les occurrences de chaque mot.

<code class="php">$str = 'happy beautiful happy lines pear gin happy lines rock happy lines pear ';
$words = array_count_values(str_word_count($str, 1));</code>

La fonction str_word_count() avec le paramètre 1 garantit qu'un tableau de mots est renvoyé. Par la suite, array_count_values() prend ce tableau et le convertit en un tableau associatif, où chaque mot unique sert de clé, et sa valeur représente le nombre d'occurrences.

Ce tableau associatif peut être trié à l'aide de l'arsort( ) fonction pour lister les mots par ordre décroissant de leurs fréquences :

<code class="php">arsort($words);</code>

Pour afficher les résultats triés en boucle, nous pouvons parcourir le tableau trié et imprimer le nombre de chaque mot :

<code class="php">foreach ($words as $word => $count) {
    echo "There are $count instances of $word.\n";
}</code>

Cela produira un résultat similaire à celui que vous avez fourni :

There are 4 instances of happy.
There are 3 instances of lines.
There are 2 instances of pear.
There are 1 instances of gin.
There are 1 instances of rock.
There are 1 instances of beautiful.

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