> 백엔드 개발 > PHP 튜토리얼 > PHP中foreach输出值不正确

PHP中foreach输出值不正确

WBOY
풀어 주다: 2016-06-23 13:29:11
원래의
968명이 탐색했습니다.

需要达成在一个页面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"." ";		}	}?>
로그인 후 복사

通过成绩查找学号的时候,输入45,有对应的两个学号,用数组保存,通过var_dump显示是正确的,Array ( [0] => 1 [1] => 5 )
但是通过下面的foreach遍历,$key值是0,1没问题,但是$value确是68,68。
求教。


回复讨论(解决方案)

11 行的 if($num==$key) 这对吗?
只能得到  无此对象

另外你的学号、成绩都取自 $grade=array(23,45,65,87,95,45,32,84,54,68);
怎么区分谁是谁呢?

抱歉,没说清楚,学号我就是直接使用的默认的0-9,就相当于$key等同于学号。$num是从其他页面传过来的,表示查询的学号,只要与$key相符就将对应的$value输出。并不会 无此对象

。。。。。。懂了,$value变量名写错了

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿