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