この記事では主に、ファイルまたは配列内の単語の頻度を計算するための 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 == ' ') { $results[$word]++; $word = ""; } else { $word .= $letter; } } fclose($handle); print_r($results);
関連する推奨事項:
php配列関数array_unique()で配列内の重複値を削除
php配列関数shuffle()とarray_rand()のランダム関数を使用する手順の詳細な説明
以上がPHP は、ファイルまたは配列内の単語の頻度を計算するメソッドを実装します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。