ホームページ  >  記事  >  バックエンド開発  >  PHP は、ファイルまたは配列内の単語の頻度を計算するメソッドを実装します。

PHP は、ファイルまたは配列内の単語の頻度を計算するメソッドを実装します。

墨辰丷
墨辰丷オリジナル
2018-05-22 13:45:291328ブラウズ

この記事では主に、ファイルまたは配列内の単語の頻度を計算するための PHP メソッドを紹介します。PHP の正規化、配列操作、文字列のトラバーサル、およびその他の関連スキルを含む、単語の頻度をカウントする例を 2 つ示します。

詳細は以下の通りです:

小さなファイルであれば一度に配列に読み込むことができ、単語出現頻度の統計に便利な配列カウント機能を利用できます(ファイル内の内容がすべて揃っていると仮定します)スペースで区切られた単語):

<?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配列関数array_unique()で配列内の重複値を削除

php配列関数shuffle()とarray_rand()のランダム関数を使用する手順の詳細な説明

PHPの配列検索機能の使い方まとめ

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

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