在php中从表单传递多维数组



我有点头疼。我的问题如下。我有三个发送邮件的站点,这三个站点都有几个默认的邮件地址。因此,在我的表单上,我使用现有地址创建输入,并允许用户更动态地创建。我可能会以下面的

结尾
site 1 - address 1
site 1 - address 2
site 2 - address 1
site 2 - address 2
site 2 - address 3

我的输入看起来像<input type="text" name="email[]"/>

我需要传递站点标识符和输入的地址到我的PHP脚本,并通过它循环添加列表到数据库

让我们假设一个基本的表单:

<form method="post">
    <input type="text" name="email[]" />
    <input type="text" name="email[]" />
</form>

你的email字段将在PHP中显示如下:

$_POST['email'][0]
$_POST['email'][1]

可以看到,所有电子邮件字段整齐地存储在数组$_POST['email']中。PHP在将[]附加到您的输入字段名称时自动执行此操作。

你也可以嵌套得更深:

<form method="post">
    <input type="text" name="email[1][]" />
    <input type="text" name="email[1][]" />
    <input type="text" name="email[2][]" />
    ...
</form>

现在它们会出现在$_POST['email'][1][...], $_POST['email'][2][...]

可以指定数组键,也可以使其为二维数组:

name="site[1][]"
name="site[1][]"
name="site[2][]"
name="site[2][]"

然后循环使用key和value:

foreach($_POST['site'] as $site => $addresses) { // $site is the number and $addresses is an array
    $address_list = implode(',', $adresses);     // or loop $addresses or whatever
}
有很多可能性,这取决于在您的特定情况下如何最容易地构建和访问它。

相关内容

  • 没有找到相关文章

最新更新