Cet article présente principalement les méthodes de programmation PHP pour calculer la fréquence des mots dans des fichiers ou des tableaux. 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. Vous pouvez vous référer aux amis dans le besoin. à ce qui suit
L'exemple de cet article décrit la méthode de calcul de la fréquence des mots dans un fichier ou un tableau à 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 == ' ') { $results[$word]++; $word = ""; } else { $word .= $letter; } } fclose($handle); print_r($results);
Pour les fichiers volumineux, la deuxième méthode est plus rapide et plus sûre et ne provoquera pas d'exceptions de mémoire.
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!