POST数组到多个变量

时间:2015-01-04 02:12:44

标签: php html mysql arrays checkbox

所以在一个页面上我有一个像这样的小形式

<form method='post' action='trade_confirm.phtml'>
    <input type='checkbox' name='items[]' value='" . $row1["inventory_slot"] . "' />
</form>

表单基本上列出了MySQL查询中的多个复选框,如下所示:

Item #1 (Checkbox)  
Item #2 (Checkbox)  
Item #3 (Checkbox)

通过_POST [&#34; items&#34;]数组发布到下一页。我在第2页有这个。

if (!empty($_POST['items'])) {
    foreach ($_POST['items'] as $selected) {
        echo $selected."</br>";
    }
}

echo命令返回我想要的输出。

Item#1
Item#2
Item#3

但是如何将这些中的每一个分配给变量,例如

 $variable1 = Item#1;
 $variable1 = Item#2;
 $variable1 = Item#3;

(第1-3项并不代表上述内容。我只是不知道代码会去那里......)

修改

另一种选择:在这个帖子数组中引用EACH单个项目的适当方法是什么?哪里(这不是一个语法正确的例子:

echo "_POST['items[0]']"

这应该是9234给出一个直截了当的例子。

&#34; Items&#34;是整数,而不是字符串。

2 个答案:

答案 0 :(得分:0)

您可以像这样访问数组的部分

echo $_POST['items'][0];
echo $_POST['items'][1];
...

答案 1 :(得分:0)

保留数组中的项目。不要将它们提取到个别变量,您只需要命名$var1$var2等等。这是毫无意义的。访问数组元素的语法是$arr[0]$arr[1];想要用$var1替换它没有明显的优势,唯一的区别是[]。如果您确实将所有值都放入了单个变量中,那就意味着您无法再在整个迭代(循环)。 foreach ($arr ..)很简单,foreach ($var1 ..)介于颈部疼痛和不可能之间。

回答你的直接问题:

echo $_POST['items'][0];
echo $_POST['items'][1];
...