【发布时间】:2014-08-05 12:08:39
【问题描述】:
我遇到以下代码的问题。
<?php
$sql="SELECT * FROM `question` WHERE sub_id=$subject_id";
$query=mysql_query($sql);
$question_count=mysql_num_rows($query);
for($a=1;$a<=$question_count;$a++){
$ans{$a}=$_POST["ans$a"];
$subject_id{$a}=$_POST["sub_id$a"];
$group_id{$a}=$_POST["grup_id$a"];
}
?>
我想在 for 循环之外使用 $ans{$a}、$subject_id{$a}、$subject_id{$a} 等变量。如果我使用类似下面的代码,
<?php
$sql="SELECT * FROM `question` WHERE sub_id=$subject_id";
$query=mysql_query($sql);
$question_count=mysql_num_rows($query);
for($a=1;$a<=$question_count;$a++){
$ans{$a}=$_POST["ans$a"];
$subject_id{$a}=$_POST["sub_id$a"];
$group_id{$a}=$_POST["grup_id$a"];
}
echo $ans1;
echo $subject_id1;
?>
php 说:
注意:未定义变量:第 25 行 F:\xampp\htdocs\oes\Student\result_process.php 中的 ans1。
请帮我提供一些建议,以便在循环范围之外使用这些变量。
【问题讨论】:
-
我没有使用过这样的结构,因为我认为使用它们是不好的做法。但不应该是
${"ans".$a}而不是$ans{$a} -
在你的循环中,你的意思是写:
${'ans' . $a}?也就是说动态创建一个变量,比如$ans1? -
是的,我想要它。这是变量动态创建$ans1。我会试试你的建议。