Maison  >  Article  >  développement back-end  >  PHP implémente une méthode pour calculer la fréquence des mots dans un fichier ou un tableau

PHP implémente une méthode pour calculer la fréquence des mots dans un fichier ou un tableau

墨辰丷
墨辰丷original
2018-05-22 13:45:291327parcourir

Cet article présente principalement la méthode de calcul de la fréquence des mots dans des fichiers ou des tableaux en PHP. Il donne 2 exemples de comptage de fréquences de mots, impliquant la régularisation PHP, les opérations sur les tableaux, la traversée de chaînes et d'autres compétences connexes. pouvez vous référer à

pour plus de détails comme suit :

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

<?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);

Recommandations associées :

La fonction de tableau php array_unique() supprime les valeurs en double du tableau

Explication détaillée des étapes pour utiliser la fonction de tableau php shuffle() et fonction aléatoire array_rand()

Un résumé de la façon d'utiliser la fonction de recherche de tableau PHP

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