ホームページ > バックエンド開発 > PHPチュートリアル > PHP の Foreach 出力値が正しくありません

PHP の Foreach 出力値が正しくありません

WBOY
リリース: 2016-06-23 13:29:11
オリジナル
968 人が閲覧しました

対応する学生 ID または成績をクエリするには、ページ a.html に成績または学生 ID を入力し、それを別の PHP ファイル b.php に渡す必要があります。
Web ページから学生 ID 番号 stuNum、成績 Grade、および非表示フォーム フラグをファイルに渡します。
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 です。
アドバイスを求めています。


ディスカッションへの返信(解決策)

if($num==$key)の11行目は正しいでしょうか?
取得できるのは そのようなオブジェクトはありません

さらに、学生番号と成績は $grade=array(23,45,65,87,95,45,32,84,54,68) から取得されます
誰が誰なのか見分ける方法は?

申し訳ありませんが、学生 ID にデフォルトの 0 ~ 9 を使用しました。これは、学生 ID と等しい $key に相当します。 $num は他のページから渡され、照会された学生番号を表します。$key と一致する限り、対応する $value が出力されます。 そのようなオブジェクトはありません

。 。 。 。 。 。わかりました、$value 変数名の書き方が間違っていました

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート