gpt4 book ai didi

PHP读取文件错误

转载 作者:行者123 更新时间:2023-11-29 14:35:53 26 4
gpt4 key购买 nike

我需要得到一个最终结果,该结果加载一个txt文件,计算每个单词被使用的次数并回显结果。下面给出了使用的代码。期待宝贵的建议...

<?php   
$text = fopen("words.txt", "r");
$textarray = explode(" ",$text);
foreach($textarray as $numbers)
{
if(isset($str_count[$numbers]))
$str_count[$numbers]++;
else
$str_count[$numbers]=1;
}

foreach($str_count as $words => $numbers)
echo $words.": ".$numbers."<br>";

?>

最佳答案

您已经差不多明白了,但有一些事情需要更改。

fopen() 函数打开一个文件(在本例中用于读取)返回一个资源(文件的句柄),我们用它来读取文件。它不返回文件内容。如果您需要更多信息,请查看fopen() documentation 。为了简单起见,我用 file_get_contents() 替换了 fopen()

其次,正如 @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>";

?>

关于PHP读取文件错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9062833/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com