For循环中的PHP变量

时间:2013-07-25 10:21:11

标签: php variables

您好我有以下内容:

$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.""];

我确信这很简单,但我无法理解它!

6 个答案:

答案 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;