PHPを使用して配列内の単語の頻度をカウントする方法の詳細な説明

巴扎黑
リリース: 2023-03-15 06:26:01
オリジナル
1922 人が閲覧しました

この記事では主に、ファイルまたは配列内の単語の頻度を計算するための 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);
ログイン後にコピー

大きいファイルの場合ファイルを保存する場合、2 番目の方法の方が高速かつ安全であり、メモリ例外は発生しません。

以上がPHPを使用して配列内の単語の頻度をカウントする方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!