Heim >Backend-Entwicklung >PHP-Tutorial >PHP中foreach输出值不正确
需要达成在一个页面a.html输入成绩或是学号传递给另一个php文件b.php查询对应的学号或是成绩。
从一个网页向该文件传递学生学号stuNum,成绩grade,隐藏表单的标记flag
b.php代码如下:
<?php $grade=array(23,45,65,87,95,45,32,84,54,68); $flag=$_REQUEST['act']; $searchFlag=0; $result=array(); if($flag=="searchNum") { $num=$_REQUEST['stuNum']; foreach($grade as $key=>$value) { if($num==$key) { $searchFlag=1; $result=$value; } } }else { $num=$_REQUEST['grade']; foreach($grade as $key=>$value) { if($num==$value) { $searchFlag=2; $result[]=$key; } } } if($searchFlag==0) { echo "无此对象"; }else if($searchFlag==1) { echo "学号为"."$num"."的学生成绩是:"."$result"; }else { echo "成绩为"."$num"."的学生学号是:"; var_dump($result); foreach($result as $key=>$vaule) { echo "$key"." "; } }?>
11 行的 if($num==$key) 这对吗?
只能得到 无此对象
另外你的学号、成绩都取自 $grade=array(23,45,65,87,95,45,32,84,54,68);
怎么区分谁是谁呢?
抱歉,没说清楚,学号我就是直接使用的默认的0-9,就相当于$key等同于学号。$num是从其他页面传过来的,表示查询的学号,只要与$key相符就将对应的$value输出。并不会 无此对象
。。。。。。懂了,$value变量名写错了