2012-08-14 18 views
1

我正试图存储从表单发送的$ _POST数据。目前,我有以下几点:

for($x = 0; $x <= $count; $x++){ 
      $f.$x = $_POST['add'.$x]; 
    } 

我试图让F1存储现场ADD1的$ _ POST数据。

是否有另一种做同样功能的方法?这似乎不起作用,它占用了我托管服务上的所有CPU使用量。

谢谢

+0

变量变量的手册在这里:http://php.net/manual/en/language.variables.variable.php – deceze 2012-08-14 13:25:44

+0

这是什么? '$ F。$ x'?我想你可能想用'$ name ='f'来实现。$ x; $$ name = $ _ POST ['add'。$ x];' – cyborg86pl 2012-08-14 13:26:19

+0

为什么您需要'$ _POST'输入的局部变量?只需通过超级全局'$ _POST'访问它们即可。此外,如果您将表单名称attrs放入数组中,它们将作为数组到达'$ _POST'。 '''' – 2012-08-14 13:27:19

回答

8

您试图创建N个变量(使用不正确的语法)。相反,你应该使用数组:

$add_data = array(); 
for($x = 0; $x <= $count; $x++) { 
    $add_data['add'.$x] = $_POST['add'.$x]; 
} 

现在所有的元素都出现在$add_data阵列英寸

需要注意的是“正确的”语法你原本想做到的是:

${'f' . $x} = $_POST['add'.$x]; 

这就是所谓的variable variables,并且通常是不必要的。

然而,更好的办法是使用数组来指定表单元素的名称属性:然后

<input name="add[]" type="text" /> 
<input name="add[]" type="text" /> 

,你可以拉$_POST['add'],它将已经与所有的add的数组元素。

+0

看起来像我们在同一页:) – user1477388 2012-08-14 13:28:01

+0

谢谢为此,我会给这个去 – user1598142 2012-08-14 13:33:22

+0

一个很好的答案。 +1,我的答案现在被删除了,因为它已经远远超过了这个:) – Fluffeh 2012-08-14 13:37:30

相关问题