求平均值的问题


problem to find out the average

我想为某教育机构制作一个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']);
}