2016-02-23 50 views
0

我已经看了全部,我开始怀疑我想做什么是可能的。我见过的循环,让您自动递增数达上限:为PHP变量添加一个自动递增后缀

for ($n = 0; $n <= 7; $n++) 

然而,我想要做的是一个自动递增的后缀添加到一个变量已经部分来自html表单的循环。但我无法弄清楚如何让自动增量运行,因为我不能在forach()中放置for()。让我看看我能否告诉你我在找什么。

foreach($_POST[‘input’] as $input) { 
${‘input.‘n++’}=$input 
} 

目标是现在会有变量$ input1,$ input2等,每个变量声明为接收到的输入。这是可以实现的吗?

+0

你当然可以在里面放一个foreach ..试试吧 –

+0

不要这样做。不要使用冗余/半重复名称乱丢名称空间。为什么你不能只使用一个数组? '$ inputs [$ n] = $ input'或者就此而言,完全跳过循环并且'$ inputs = $ _POST ['input']'。它已经是一个数组,或者你不会循环。 –

+0

不要听marc。做你自己的蹩脚方式。如果你不做实验,你永远不会知道这是一种糟糕的方式。 –

回答

0
$n=0; 
foreach($_POST[‘input’] as $input) { 
    $varname = "input$n"; 
    $$varname = $input; 
    $n++; 
} 

echo $input1; 
+1

谢谢!只需要记住回显“$ input0”来获取第一个变量 - 或将开始的$ n = 0更改为$ n = 1。 – sparrowhawk87