>  기사  >  백엔드 개발  >  PHP는 파일이나 배열에서 단어의 빈도를 계산하는 방법을 구현합니다.

PHP는 파일이나 배열에서 단어의 빈도를 계산하는 방법을 구현합니다.

墨辰丷
墨辰丷원래의
2018-05-22 13:45:291309검색

이 글에서는 주로 파일이나 배열의 단어 빈도를 계산하는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.