将不同名称的动态输入字段数组项值传递给php


Passing dynamic input field array item values with different names to php

我从formvalidation使用这个表单。io:

<form id="bookForm" method="post" class="form-horizontal">
<div class="form-group">
    <label class="col-xs-1 control-label">Book</label>
    <div class="col-xs-4">
        <input type="text" class="form-control" name="book[0].title" placeholder="Title" />
    </div>
    <div class="col-xs-4">
        <input type="text" class="form-control" name="book[0].isbn" placeholder="ISBN" />
    </div>
    <div class="col-xs-2">
        <input type="text" class="form-control" name="book[0].price" placeholder="Price" />
    </div>
    <div class="col-xs-1">
        <button type="button" class="btn btn-default addButton"><i class="fa fa-plus"></i></button>
    </div>
</div>

输入字段名称非常特殊,例如name="book[0].title"

如何传递所有这些输入字段数组值到我的php脚本?

我猜"."不是php兼容的。以类似name="book[0][title]的方式更改名称会导致类似Warning: Illegal string offset 'title' in www/...print_r($_POST['book'][0]['title']);的错误消息。

谢谢你的帮助!

你必须使用print_r($_POST[books][0][title]);代替,希望它有帮助。还有,是"book"还是"books"?这也可能带来错误。但我的观点是,你不必使用分隔符

下面的格式应该可以使用

<input type="text" class="form-control" name="book[0][title]" placeholder="Title" />

当您执行print_r($_POST)时,您将以适当的数组格式获得提交的数据。你也可以使用$_POST['book'][0]['title']

来获取标题
[book] => Array
        (
            [0] => Array
                (
                    [title] => titletext
                    [isbn] => isbntext
                    [price] => 100
                )
        )