背景:
由於具體工作的原因,我做了一份紙質的問卷調查表,調查表的主要內容是讓用戶對10項要求(編號為A,B....)進行優先級排序,所以我得到的結果是好幾百份類似於A>I>H>G>D....等結果。
目標:
根據用戶的排序結果對這10項要求進行量化考評,最終的結果希望是A:78,B:68,C:70.....,以找出哪一個要素相對重要,而另一些相對不重要。
做法:
根據編號的排位名次,賦與不一樣的權重,統計所有的結果,將這些權重匯總。例如:“ABCDEFGHIJ”這個結果表示A這一項得到10分,J這項得到了1分,D這項得到了7分。
知識點:
文件讀取;循環;關聯數組;數組排序。
php代碼:
1 $rs =array("A"=>0,"B"=>0,"C"=>0,"D"=>0,"E"=>0,"F"=>0,"G"=>0,"H"=>0,"I"=>0,"J"=>0); 2 $handle = fopen('./file.txt', 'r'); 3 while(!feof($handle)) 4 { 5 $string = fgets($handle, 1024); 6 for($i=0;$i<strlen($string);$i++) 7 { 8 $t = strtoupper($string[$i]); 9 if(isset($rs[$t])) 10 $rs[$t] = $rs[$t]+ strlen($string) - $i; 11 } 12 } 13 fclose($handle); 14 arsort($rs); 15 var_dump($rs);
說明:file.txt是一個文本文件,其中的每一行表示一份問卷的結果,類似於“ABCDEFGHIJ”這樣的東西。這個文件是如何得到了呢?好吧,我承認不是我自己手動錄入的,我找了些人幫忙(為什麼不做網上問卷呢?省得這麼麻煩)