PHP Post组的重复输入


PHP Post group of repeated inputs

我有一个公司模型的表格。一家公司在我的模型中有一个或多个联系人,所以在我的表单中,我有client_name、client_phone和client_email的输入,我可以用我制作的一个小javascript重复它们,这样我就可以添加任意多的客户端。我需要发布这篇文章,并将这些对象分组,以便能够预测它们,我的意思是:

client: [
    {name: "Alan", phone: "123456123", email: "alan@example.com},
    {name: "Alan", phone: "123456123", email: "alan@example.com},
    {name: "Alan", phone: "123456123", email: "alan@example.com}
]

应该如何命名输入以获得此信息?

如果我读对了你的问题,你可以做这样的事情:

<form method="post">
    <input name="client[0][name]" value="Alan">
    <input name="client[0][phone]" value="123456123">
    <input name="client[0][email]" value="alan@example.com">
    <input name="client[1][name]" value="Alan">
    <input name="client[1][phone]" value="123456123">
    <input name="client[1][email]" value="alan@example.com">
    <input name="client[2][name]" value="Alan">
    <input name="client[2][phone]" value="123456123">
    <input name="client[2][email]" value="alan@example.com">
    <input type="submit">
</form>

它将给出这种格式的数组,为json_encodeing:做好准备

Array
(
    [client] => Array
        (
            [0] => Array
                (
                    [name] => Alan
                    [phone] => 123456123
                    [email] => alan@example.com
                )
            [1] => Array
                (
                    [name] => Alan
                    [phone] => 123456123
                    [email] => alan@example.com
                )
            [2] => Array
                (
                    [name] => Alan
                    [phone] => 123456123
                    [email] => alan@example.com
                )
        )
)

另一个选项参考意见:

<form method="post">
    <input name="name[]" value="Alan">
    <input name="phone[]" value="123456123">
    <input name="email[]" value="alan@example.com">
    <input name="name[]" value="Alan">
    <input name="phone[]" value="123456123">
    <input name="email[]" value="alan@example.com">
    <input name="name[]" value="Alan">
    <input name="phone[]" value="123456123">
    <input name="email[]" value="alan@example.com">
    <input type="submit">
</form>

和PHP重建数组:

$array = array();
foreach ($_POST['name'] as $key => $name) {
    $array[] = array(
        'name' => $name,
        'phone' => $_POST['phone'][$key],
        'email' => $_POST['email'][$key]
    );
}