Код: Выделить всё
$responses = Array
(
[0] => Array
(
[question_id] => 105
[content] => 4
)
[1] => Array
(
[question_id] => 106
[content] => ans 2
)
[2] => Array
(
[question_id] => 106
[content] => blah
)
[3] => Array
(
[question_id] => 106
[content] => blah3
)
)
Код: Выделить всё
$ans_key = Array
(
[0] => Array
(
[question_id] => 105
[content] => 4
)
[1] => Array
(
[question_id] => 106
[content] => ans 2
)
[2] => Array
(
[question_id] => 106
[content] => blah
)
[3] => Array
(
[question_id] => 106
[content] => blah3
)
)
Код: Выделить всё
foreach($ans_key as $key => $value){
//how many answers per question id
$ans_per_question = array_count_values(array_column($ans_key,'question_id'))[$value['question_id']];
if ($ans_per_question == 1){
if(in_array($value,$answers)){
$correct += 1;
}
} else {
if(in_array($value,$answers)){
$chkbox_correct += 1;
}
if($chkbox_correct == $ans_per_question){
$correct += 1;
}
}
}
echo "Correct : " . $correct . "/ " . count(array_count_values(array_column($ans_key,'question_id')));
Подробнее здесь: https://stackoverflow.com/questions/791 ... uiz-with-m