我想为教育机构制作一个CGPA信息系统。说,有6个文本框,我想找出第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";
}
?>
答案 0 :(得分:2)
if($num=4)
应该是
if($num==4)
因为您要测试相等性而不是将值4分配给num
答案 1 :(得分:1)
当您初始化$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']);
}