PHP 조건인데여..
본문
객관식 퀴즈문제 5문제가 있습니다.
배열로 나오게 됩니다.
정답 내선택
$arr['0'] $q1
$arr['1'] $q2
$arr['2'] $q3
$arr['3'] $q4
$arr['4'] $q5
------------------------------------------
예)
정답 내선택 결과
2 3 X
4 2 X
2 4 X
3 3 O
1 1 O
-------------------------------------------
결과를 이용하여 점수를 구하고자 합니다. ( 위의 경우 40점 ) 2/5*100
초보임...
if( $arr[$I] == $q$I)
{
}
좀 도와주십쇼 아ㅇ
------------------------------------------------------------------
답변 5
$score = 0;
$arr = [2, 4, 2, 3, 1];
$q1 = 3;
$q2 = 2;
$q3 = 4;
$q4 = 3;
$q5 = 1;
foreach ($arr as $k => $v) {
$answer = ${'q' . ($k + 1)};
if ($v == $answer) {
$score++;
}
}
echo ($score / count($arr)) * 100;
작업이안되는 건 아닌데.. $q1 이것도 배열로 받는 방안을 생각해보세요.
훨씬 효율적일 겁니다.
$hap = "0";
for( $i=0; $i < count($arr); $i++){
if( $arr[$I] == $q$I)
{
$hap++;
}
}
if($hap > 0){
$total_hap = $hap * 20;
}
echo $total_hap;
으로..해보심이..ㅎㅎ
$arr= "2,4,2,3,1";
$q_ha="3,2,4,3,1";
$arr_a = explode(",", $arr);
$q_ha_a = explode(",", $q_ha);
$g_h=0;
for($i=0;$i<count($q_ha_a);$i++){
if($arr_a[$i]==$q_ha_a[$i])
$g_h=$g_h*1+20;
}
echo $g_h;
<form name='test' action='answer_check.php' method='post'>
문1. ~~~체크하시오
<input name='ans1' value='1'>일이요 <input name='ans1' value='2'>이요
<input name='ans1' value='3'>삼이요
문2. ~~~체크하시오
<input name='ans2' value='1'>일이요 <input name='ans2' value='2'>이요
<input name='ans2' value='3'>삼이요
~~~
문100. ~~~체크하시오
<input name='ans100' value='1'>일이요 <input name='ans100' value='2'>이요
<input name='ans100' value='3'>삼이요
<input type='submit' value='정답제출'>
</form>
answer_check.php
<?php
$k = 100; //문항수
$ansArr=array(2,4,2,3,1,~~~~~~); //----정답배열
for($i=1; $i<= $k; $i++){
$ans = 'ans'.$i;
if($_POST[$ans] && $ansArr[$i] == $_POST[$ans]) $nn++;
}
정답수 : <?=$nn?>