【问题标题】:PHP - How can I make calculations with numbers I get from a text file?PHP - 如何使用从文本文件中获得的数字进行计算?
【发布时间】:2018-08-12 13:43:47
【问题描述】:

所以我有一个任务,我应该在 php 中读取一个文本文件,其中包含学生 ID 和他们的成绩,由垂直线分隔。它看起来像这样:

12345|4|2|1|0|4 
45678|1|2|3|4|4 
78901|5|5|5|5|4 

程序应该打印文件上的学生数量,我通过简单地回显行数来做到这一点。但是,我还应该打印每个学生的成绩总和,我根本找不到办法。我是按顺序获得字符还是类似的东西?我已经为此苦苦挣扎了一天,但我只做到了这一点:

<?php 

$file="exam.txt";
$linecount = 0;
$handle = fopen($file, "r");
while(!feof($handle)){
  $line = fgets($handle);
  $linecount++;
}


echo "total_students was $linecount:";
$homepage = file_get_contents('exam.txt');
echo $homepage;


?>

这段代码只打印页面和行数,仅此而已。

【问题讨论】:

  • 旁注:您为什么不为此使用数据库是否有特殊原因?这将使计数/求和变得容易得多,更不用说管理数据了。
  • 啊,我明白了(并且理解)。这是我发现的一个问答,如果您想查看它并从中尝试一些东西,它可能会对您有所帮助stackoverflow.com/q/17548443/1415724 - 我在 Google 搜索中使用以下关键字词组找到它:“来自文本文件 php 的总和值”并包含更多点击。
  • 谢谢你,但我绝对不是要你写作业。如您所见,我只是询问是否有操作员计算文件上的符号之类的东西。如果我想让某人“写我的作业”,我会简单地复制粘贴任务的方式。如果我想让人们完成我什至不会在这里写的任务,我只会让其他正在学习课程的人复制他们的答案。
  • 好吧,在这种情况下,你提出了一个有效的观点,我删除了我的反对票,
  • 脱帽致敬@FunkFortyNiner

标签: php sum int text-files readfile


【解决方案1】:

所以在我被引导到正确的方向之后,我设法想出了一个解决方案!

<?php 

$file="exam.txt";
$linecount = 0;
$handle = fopen($file, "r");
while(!feof($handle)){
  $line = fgets($handle);
  $linecount++;
}


echo "total_students was $linecount:\n";


$lines = file('exam.txt');
$sum = 0 ;

foreach ($lines as $line){
$var = explode("|", $line);
$sum = $var[1]+$var[2]+$var[3]+$var[4]+$var[5];
$all += $sum;
echo "$var[0]: $sum points\n";
}

$average = $all / $linecount;
echo "The average score was $average points."

?>

我将每一行分解为一个除以“|”的数组符号,然后我从数组的 [0] 打印学生 ID,并将其余部分相加。之后,我将总和相加,从而找到平均值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多