我想为某教育机构制作一个CGPA信息系统。比如说,有6个文本框,我想找出我输入的前5个文本框数字的平均值,但是如果我填满了第1个4个文本框,那么我也想找出前4个文本框输入数字的平均值,结果显示在相同表单的第6个文本框位置。我在另一个PHP文件中尝试它,但它不起作用。代码在这里
<?php
$q1 = $_GET['q_1'];
$q2 = $_GET['q_2'];
$q3 = $_GET['q_3'];
$q4 = $_GET['q_4'];
$q5 = $_GET['q_5'];
$x=array($q1,$q2,$q3,$q4,$q5);
$num=count($x);
if($num=4)
{
$sum= $q1+$q2+$q3+$q4;
$num=4;
$avg=$sum/$num;
echo "bestof(4):$avg";
}
elseif($num=5)
{
$sum= $q1+$q2+$q3+$q4+$q5;
$num=5;
$avg=$sum/$num;
echo "bestof(5):$avg";
}
?>
if($num=4)
应该是
if($num==4)
,因为您想测试是否相等而不将值4赋值给num
初始化$x
时,它的大小总是5。如果问题5没有填写,你的数组$x
将是("Answer1", "A2", "A3", "A4", Null)
。
尝试使用isset()
来确定从$_GET
数组中填充哪些,然后相应地构建您的数组,例如:
if(!isset($_GET['q_5']){
$x = array($_GET['q_1'],$_GET['q_2'],$_GET['q_3'],$_GET['q_4']);
}else{
$x = array($_GET['q_1'],$_GET['q_2'],$_GET['q_3'],$_GET['q_4'],$_GET['q_5']);
}