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