Maison >développement back-end >tutoriel php >Comment trier et compter les instances de mots dans une chaîne PHP ?
Tri et comptage des instances de mots dans une chaîne en PHP
Trier et compter les occurrences de mots dans une chaîne est une tâche courante en programmation. Heureusement, PHP fournit une solution simple et élégante à ce problème.
Utilisation de str_word_count() et array_count_values()
La fonction str_word_count() renvoie un tableau de tous les mots dans une chaîne, tandis que la fonction array_count_values() compte le nombre d'occurrences de chaque élément dans un tableau. En combinant ces deux fonctions, nous pouvons compter efficacement les instances de chaque mot dans une chaîne.
<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>
Le tableau résultant, $words, contiendra le nombre de chaque mot unique dans $str.
Tri des entrées
Pour trier le nombre de mots, on peut utiliser la fonction arsort(), qui trie un tableau par ordre décroissant tout en préservant les clés.
<code class="php">arsort($words);</code>
Cela triera le tableau $words en fonction du nombre de chaque mot, avec le mot le plus fréquent au début du tableau.
Impression des résultats
Enfin, nous pouvons parcourir le tableau $words et imprimer le nombre de chaque mot :
<code class="php">foreach ($words as $word => $count) { echo "There are $count instances of $word.<br>"; }</code>
Ce code affichera ce qui suit :
There are 4 instances of happy. There are 3 instances of lines. There are 2 instances of gin. There are 1 instance of pear. There are 1 instance of rock. There are 1 instance of beautiful.
Notes supplémentaires
L'argument 1 passé à str_word_count() indique qu'il doit renvoyer un tableau de tous les mots, plutôt qu'une chaîne.
Le tri des entrées est facultatif, mais cela peut être utile pour afficher les données de manière plus significative.
Cette solution peut être facilement adaptée pour gérer d'autres types de chaînes, telles que des phrases ou des paragraphes.
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!