Maison  >  Article  >  développement back-end  >  Comment trier et compter les instances de mots dans une chaîne PHP ?

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

Barbara Streisand
Barbara Streisandoriginal
2024-10-21 10:37:29564parcourir

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

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!

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