php 对问卷结果进行统计

时间:2024-07-03 16:05:50

背景:

由于具体工作的原因,我做了一份纸质的问卷调查表,调查表的主要内容是让用户对10项要求(编号为A,B....)进行优先级排序,所以我得到的结果是好几百份类似于A>I>H>G>D....等结果。

目标:

根据用户的排序结果对这10项要求进行量化考评,最终的结果希望是A:78,B:68,C:70.....,以找出哪一个要素相对重要,而另一些相对不重要。

做法:

根据编号的排位名次,赋与不一样的权重,统计所有的结果,将这些权重汇总。例如:“ABCDEFGHIJ”这个结果表示A这一项得到10分,J这项得到了1分,D这项得到了7分。

知识点:

文件读取;循环;关联数组;数组排序。

php代码:

 $rs =array("A"=>0,"B"=>0,"C"=>0,"D"=>0,"E"=>0,"F"=>0,"G"=>0,"H"=>0,"I"=>0,"J"=>0);
$handle = fopen('./file.txt', 'r');
while(!feof($handle))
{
$string = fgets($handle, 1024);
for($i=0;$i<strlen($string);$i++)
{
$t = strtoupper($string[$i]);
if(isset($rs[$t]))
$rs[$t] = $rs[$t]+ strlen($string) - $i;
}
}
fclose($handle);
arsort($rs);
var_dump($rs);

说明:file.txt是一个文本文件,其中的每一行表示一份问卷的结果,类似于“ABCDEFGHIJ”这样的东西。这个文件是如何得到了呢?好吧,我承认不是我自己手动录入的,我找了些人帮忙(为什么不做网上问卷呢?省得这么麻烦)