PHP $ _POST获取数据数组

时间:2010-06-30 11:27:24

标签: php

我正在尝试使用相同名称的多个文本框 这是我的代码。

HTML

Email 1:<input name="email" type="text"><br>
Email 2:<input name="email" type="text"><br>
Email 3:<input name="email" type="text"><br>


PHP

$email = $_POST['email'];
echo $email;

我想得到这样的结果:

email1 @ email.com,email2 @ email.com,email3 @email.com

我怎样才能做到这一点?那可能吗?

3 个答案:

答案 0 :(得分:44)

在元素名称中使用[]

Email 1:<input name="email[]" type="text"><br>
Email 2:<input name="email[]" type="text"><br>
Email 3:<input name="email[]" type="text"><br>

将在PHP端返回一个数组:

$email = $_POST['email'];   

你可以implode()获得你想要的结果:

echo implode(", ", $email); // Will output email1@email.com, email2@email.com ...

在对它们做任何事情之前,不要忘记对这些值进行消毒,例如:序列化数组或将它们插入数据库!仅仅因为它们在阵列中并不意味着它们是安全的。

答案 1 :(得分:9)

<input name="email[]" type="text">
<input name="email[]" type="text">
<input name="email[]" type="text">
<input name="email[]" type="text">

$ _ POST ['email']将是一个数组。

答案 2 :(得分:1)

另一个例子可能是:

<input type="text" name="email[]" value="1">
<input type="text" name="email[]" value="2">
<input type="text" name="email[]" value="3">

<?php
     foreach($_REQUEST['email'] as $key => $value)
          echo "key $key is $value <br>";

将显示

key 0 is 1
key 1 is 2
key 2 is 3