我是PHP的新手,我很难理解为什么我的代码无效。任何人都可以看到为什么这是??
对于我的代码,我试图使用fgets()
和fscanf()
的组合来阅读文本文件,我想将它们放入一组变量中。我想在文件达到EOF时返回false,我希望它在文本编辑器中将这些记录读入变量并回显它们的输出。
$fp = fopen ("branches.txt", "r");
while ($branch = fgets ($fp)) {
$branch=trim($branch);
if (filesize('branches.txt') == 0){
echo "The file is DEFINITELY empty";
}
printf("%2d: ");
if ($branch === FALSE) print ("FALSE\n");
else print ($branch . "</br>");
}
while ($info = fscanf($fp, "%i %lf %lf")) {
list ($properties, $income, $expenditure) = $info;
echo $info;
}
fclose ($fp);
文字编辑:位置/字符串 Integer Float Float
即热 12 160.0 77.0
答案 0 :(得分:0)
下面
printf(&#34;%2d:&#34;);
缺少int值。
您已经将文件(while ($branch = fgets ($fp))
)读取到了EOF。现在,您需要在使用while ($info = fscanf($fp, "%i %lf %lf"))
读取文件之前重置指针。
rewind($fp);
while ($info = fscanf($fp, "%i %lf %lf")) {
.....
点击此链接了解更多信息: http://php.net/manual/en/function.rewind.php