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!