...貴重な提案のために前方below.Looking与えられるが、変更する必要がいくつかあります。
fopen()
関数は、ファイル(この場合は読み取り用)を開き、ファイルを読み取るために使用するリソース(ファイルのハンドル)を返します。ファイルの内容は返されません。詳しい情報が必要な場合は、fopen() documentationをご確認ください。 簡略化のためにfopen()
をfile_get_contents()
に置き換えました。
@DaveRandomは、explode()
をpreg_split('/\s+/', $text);
に置き換えることをお勧めします。これは、複数のスペースを扱うことができるためです。もちろん、これは必須ではありませんが、推奨されます。
最後に、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()関数を使用していないという事実、問題は正確に何か –