您好我有以下内容:
$q1 = $_POST["q2"];
$q2 = $_POST["q2"];
$q2 = $_POST["q2"];
我想做的是把它放在For
循环中,如下所示:
for ($i=1; $i<=3; $i++){
$q1 = $_POST["q".$i.""];
}
我可以将变量添加到POST
部分没问题,但我无法弄清楚如何将$ q旁边的1
作为变量:
$q1 = $_POST["q".$i.""];
我确信这很简单,但我无法理解它!
答案 0 :(得分:1)
你的意思是:
// As array:
$q[ $i ] = $_POST['q'.$i]; // this one is my prefered
// Or as object:
$q->$i = $_POST['q'.$i];
编辑:删除了eval()版本,你根本就不应该使用它。数组应该可以正常工作:)
你可以使用变量变量,但你不应该。它真的非常复杂。
$name1 = 'myName';
$example = "name".$i;
echo $$example;
答案 1 :(得分:1)
检查php here中提供的“变量变量”功能。 您的代码与此类似:
$varName = 'q' . $i;
$$varName = $_POST[$varName]
另外,请查看extract function
答案 2 :(得分:1)
for ($i=1; $i<=3; $i++){
${"q$i"} = $_POST["q$i"];
}
echo $q1;
使用变量变量可以轻松分配$ q1
答案 3 :(得分:1)
试试这个
$q_arr = array(); //create empty array
for ($i=1; $i<=3; $i++){
if(isset($_POST["q".$i])) //first check existance of $_POST item with wanted key
$q_arr['q'.$i] = $_POST["q".$i]; //store it in array
}
extract($q_arr); //extract creates variables naming them as their key
if(isset($q1)) //just for test
echo $q1; //just for test
答案 4 :(得分:0)
将 $ q 变量定义为数组帮助吗?
$q[i] = $_POST["q".$i.""];
答案 5 :(得分:0)
你的意思是你想动态创建变量名吗? 像这样:
for ($i=1; $i<=3; $i++){
$varname = "q" . $i;
$$varname = $_POST["q".$i.""];
}
print $q2;