For循环语法和变量的问题

时间:2014-11-16 22:34:14

标签: php for-loop

我有多个名为day1Nameday2Nameday3Name的变量,依此类推。我还有exercise_11_Nameexercise_12_name

我有很多这些,我希望在这些变量中保存的值取决于用户输入。

我不想为每一个人写$variableName = $_POST['name'],因为这是很多很糟糕的做法。因此,我想使用for循环,以便我的代码看起来更清晰。

我想要实现的是与此相似的东西:

for(i=0, i<10; i++)
{
   $day[i+1]name = $_POST['day[i+1]name']; 
   $exercise_1[i+1]_name = $_POST['excName1[i]']; 
}

我知道我写它的方式不会起作用。

P.S。我写[i+1]的地方就是我需要的数字,例如,$day[i+1]name应该在$day1name时成为变量i=0。在我写[i]的地方,例如excName1[i],这是一个数组,我想在其中检索该特定索引的值。

我真的很感激这方面的帮助。

谢谢! =]

2 个答案:

答案 0 :(得分:0)

创建一个名为$ day_name的数组,并将表单字段命名为day_name_1,day_name_2 etc

然后在你的循环中:
    $ day_name [$ i + 1] = $ _POST [&#39; day_name _&#39; 。 ($ i + 1)]

对运动变量做同样的事情。 我假设它是php,所以你的循环变量必须是$ i,而不是我

答案 1 :(得分:0)

您要求的解决方案称为可变变量或变量扩展,并继续这样:

for($i=0; $i<10; $i++)
{
   $d=$i+1;
   ${"day{$d}name"} = $_POST["day{$d}name"];
   ${"exercise_1{$d}_name"} = $_POST["excName1{$i}"];
}

但是我鼓励你看看&#34; array&#34;这就是@Bart上面建议的,这可能是组织数据的更好方式。