Maison  >  Article  >  développement back-end  >  Comment calculer la fréquence des mots dans un fichier ou un tableau en utilisant PHP

Comment calculer la fréquence des mots dans un fichier ou un tableau en utilisant PHP

怪我咯
怪我咯original
2017-07-04 13:32:351197parcourir

Cet article présente principalement la méthode de programmation PHP pour calculer la fréquence des mots dans des fichiers ou des tableaux, et donne 2 exemples de comptage de fréquences de mots, impliquant la régularisation PHP, les opérations sur les tableaux et le parcours de chaîne , etc. Pour des conseils connexes, les amis dans le besoin peuvent se référer à

Cet article décrit la méthode de calcul de la fréquence des mots dans des fichiers ou des tableaux à l'aide de la programmation PHP. Partagez-le avec tout le monde pour votre référence. Les détails sont les suivants :

S'il s'agit d'un petit fichier, il peut être lu dans le tableau en une seule fois et utiliser la fonction pratique de comptage de tableaux pour compter la fréquence des mots (en supposant que que le contenu du fichier est tous séparé par des espaces) mots) :

<?php
$str = file_get_contents("/path/to/file.txt"); //get string from file
preg_match_all("/\b(\w+[-]\w+)|(\w+)\b/",$str,$r); //place words into array $r - this includes hyphenated words
$words = array_count_values(array_map("strtolower",$r[0])); //create new array - with case-insensitive count
arsort($words); //order from high to low
print_r($words)

S'il s'agit d'un fichier volumineux, il n'est pas approprié de le lire dans la mémoire. Vous pouvez utiliser la méthode suivante :

<?php
$filename = "/path/to/file.txt";
$handle = fopen($filename,"r");
if ($handle === false) {
 exit;
}
$word = "";
while (false !== ($letter = fgetc($handle))) {
 if ($letter == &#39; &#39;) {
  $results[$word]++;
  $word = "";
 }
 else {
  $word .= $letter;
 }
}
fclose($handle);
print_r($results);

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