.csv文件:
question1,question2,question3,question4,question5,question6,question7,question8,question9,question10
yes,response,response,response,response,response,response,response,response,response
yes,response2,response2,response2,response2,response2,response2,response2,response2,response2
no,response3,response3,response3,response3,response3,response3,response3,response3,response3
我想在php中获得此结果。
$ question =" the_question_goes_here"
问题1
是= 2
没有= 1
代码必须找到每个问题的唯一答案,并计算每个问题的数量。
有人可以帮忙吗?
答案 0 :(得分:0)
str_getcsv()
可用于将csv字符串作为数组。
使用这个你可以在数组上写一个循环来计算值(伪代码):
counts = array;
//Loop over each row
for(row in csvrows){
for(cell in row){
counts[rowHeader][cellValue] = counts[rowHeader][cellValue]+1;
}
}
答案 1 :(得分:0)
这应该可以将文件内容读入PHP
$data= array();
$row = 1;
if (($handle = fopen("test.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
foreach ($data as $position => $value) {
if($row == 1) {
$data[$position]['question'] = $value;
$data[$position]['yes'] = 0;
$data[$position]['no'] = 0;
continue;
}
if ($value == 'yes') {
$data[$position]['yes'] = $data[$position]['yes'] + 1
} elseif ($value == 'no') {
$data[$position]['no'] = $data[$position]['no'] + 1
}
}
$row++;
}
fclose($handle);
}
这将返回一个你可以像这样阅读的数组