HTML / PHP-表单-输入为数组

我有这样的表格

<form>

<input type="text" class="form-control" placeholder="Titel" name="levels[level]">

<input type="text" class="form-control" placeholder="Titel" name="levels[build_time]">

<input type="text" class="form-control" placeholder="Titel" name="levels[level]">

<input type="text" class="form-control" placeholder="Titel" name="levels[build_time]">

</form>

我想要的$ _POST输出是一个像

Array ( 

[1] => Array ( [level] => 1 [build_time] => 123 )

[2] => Array ( [level] => 2 [build_time] => 456 )

)

我知道我可以做类似name =“ levels [1]

[build_time]”之类的事情,但是由于这些元素是动态添加的,因此很难添加索引。还有其他办法吗?

按照建议,我更改了表格。我现在还包括了整个HTML,因为我认为这里缺少一些内容。我的HTML现在:

<div class="form-group">

<label class="col-md-2">Name(z.B. 1)</label>

<div class="col-md-10">

<input type="text" class="form-control" placeholder="Titel" name="levels[][level]">

</div>

<label class="col-md-2">Bauzeit(In Sekunden)</label>

<div class="col-md-10">

<input type="text" class="form-control" placeholder="Titel" name="levels[][build_time]">

</div>

</div>

<div class="form-group">

<label class="col-md-2">Name(z.B. 1)</label>

<div class="col-md-10">

<input type="text" class="form-control" placeholder="Titel" name="levels[][level]">

</div>

<label class="col-md-2">Bauzeit(In Sekunden)</label>

<div class="col-md-10">

<input type="text" class="form-control" placeholder="Titel" name="levels[][build_time]">

</div>

</div>

我现在得到的输出是:

[levels] => Array ( 

[0] => Array ( [level] => 1 )

[1] => Array ( [build_time] => 234 )

[2] => Array ( [level] => 2 )

[3] => Array ( [build_time] => 456 )

)

根据您的编辑建议,我编辑了表单并将方括号移到名称的末尾。我现在得到的输出是:

[levels] => Array ( 

[level] => Array (

[0] => 1

[1] => 2

)

[build_time] => Array (

[0] => 234

[1] => 456

)

)

我想那会起作用,但看起来仍然很复杂。没有更好的办法吗?

回答:

只需添加[]诸如

 <input type="text" class="form-control" placeholder="Titel" name="levels[level][]">

<input type="text" class="form-control" placeholder="Titel" name="levels[build_time][]">

获取该模板,然后甚至可以使用循环添加这些模板。

然后,您可以根据需要动态地添加这些内容,而无需提供索引。PHP将像您预期的场景示例一样拾取它们。

抱歉,我在错误的位置放置了大括号,这会使每个新值成为一个新的数组元素。现在使用更新的代码,这将为您提供以下数组结构

levels > level (Array)

levels > build_time (Array)

两个子阵列上的相同索引将为您提供一对。例如

echo $levels["level"][5];

echo $levels["build_time"][5];

以上是 HTML / PHP-表单-输入为数组 的全部内容, 来源链接: utcz.com/qa/405752.html

回到顶部