ホームページ  >  記事  >  バックエンド開発  >  PHP を使用してファイルまたは配列内の単語の頻度を計算する方法

PHP を使用してファイルまたは配列内の単語の頻度を計算する方法

怪我咯
怪我咯オリジナル
2017-07-04 13:32:351196ブラウズ

この記事では、ファイルまたは配列内の単語の頻度を計算するための PHP プログラミングの方法を主に紹介し、PHP の正規化、配列操作、文字列トラバーサルおよびその他の関連スキルを含む、単語の頻度をカウントする例を 2 つ示します。以下を参照してください

この記事の例では、PHP プログラミングを使用してファイルまたは配列内の単語の頻度を計算する方法を説明します。詳細は次のとおりです。

小さなファイルであれば、一度に配列に読み込んで、便利な配列カウント関数を使用して単語の頻度をカウントできます (ファイルの内容が含まれていると仮定します)。ファイルはすべてスペースで区切られた単語です):

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

ファイルが大きい場合、メモリに読み込むのは適切ではありません。次の方法を使用できます:

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

以上がPHP を使用してファイルまたは配列内の単語の頻度を計算する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。