繁体   English   中英

For循环中的PHP变量

[英]PHP Variable within For Loop

嗨,我有以下几点:

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

我敢肯定这很简单,但我无法理解!

您的意思是:

// 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;

此处检查php中可用的“变量变量”功能。 您的代码将与此类似:

$varName  = 'q' . $i;
$$varName = $_POST[$varName]

另外,请检查提取功能

for ($i=1; $i<=3; $i++){
    ${"q$i"} = $_POST["q$i"];
}
echo $q1;

使用变量变量可以轻松分配$ q1

尝试这个

$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 

$ q变量定义为数组会有所帮助吗?

$q[i] = $_POST["q".$i.""];

您是要动态创建变量名吗? 像这样:

for ($i=1; $i<=3; $i++){
   $varname = "q" . $i;
   $$varname = $_POST["q".$i.""];
}
print $q2;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM