... 가치있는 제안을 앞으로 below.Looking 주어진하지만, 변경해야 할 몇 가지가있다.
fopen()
함수는 파일을 열 때 (이 경우 읽기 위해) 파일을 읽는 데 사용하는 리소스 (파일 핸들)를 반환합니다. 파일 내용을 반환하지 않습니다. 추가 정보가 필요하면 fopen() documentation을 확인하십시오. 간략 함을 위해서 fopen()
을 file_get_contents()
으로 대체했습니다.
둘째, @DaveRandom이 제안했듯이 preg_split('/\s+/', $text);
을 explode()
으로 바꾸는 것이 좋습니다. 이렇게하면 여러 공간을 처리 할 수 있기 때문입니다. 물론 이것은 필수는 아니지만 권장됩니다.
마지막으로 preg_split('/\s+/', $text)
으로 스크립트에 빈 요소가 있다는 것을 알았습니다. 따라서 빈 문자열을 추가하지 않기 위해 if
문을 추가했습니다. 이 단계도 필요하지 않으므로 필요하지 않으면 첫 번째 if 문만 제거하면됩니다.
<?php
$text = file_get_contents('words.txt');
$textarray = preg_split('/\s+/', $text);
foreach($textarray as $numbers)
{
if(empty($numbers)) {
continue;
}
if(isset($str_count[$numbers]))
$str_count[$numbers]++;
else
$str_count[$numbers]=1;
}
foreach($str_count as $words => $numbers)
echo $words.": ".$numbers."<br>";
?>
질문은 무엇인가, 무엇을 작동하지 않습니다 여기
그리고
수정 된 소스 코드? –첫 번째 주석은'preg_split ('/ \ s + /', $ text);'에 대해'explode()'를 바꾸어서 여러 공백, 탭, 줄 바꿈 등을 설명 할 수 있다는 것입니다. – DaveRandom
사실 PHP의 str_word_count() 함수를 사용하여 단어와 빈도 목록을 생성하지 못한다면 정확히 무엇이 문제입니까 –