此 HTML 代码
<input name="Html_Array[][title]">
<input name="Html_Array[][amount]">
生成此 PHP 数组
[0] => Array
(
[title] => Seilpendel für Tragsysteme
)
[1] => Array
(
[amount] => 2
)...So on
什么是HTML代码生成以下PHP数组
[0] => Array
(
[title] => Seilpendel für Tragsysteme
[amount] => 1
)
[1] => Array
(
[title] => Article Tiel
[amount] => 2
)
数组的大小未知,因此我们无法将索引硬编码为 0,1,2 等
每次添加新的表单字段组时保留索引(使用 jQuery):
window.count = 0;
$('#add-more-button').on('click', function() {
$('<input name="html_array[' + window.count + '][title] />').appendTo('form:first');
$('<input name="html_array[' + window.count + '][amount] />').appendTo('form:first');
window.count++;
});
你应该得到正确的结构。
如果你的意思是PHP,请编辑:
// Assuming 0-indexed array
foreach($my_array as $key => $value) {
echo '<input name="html_array[' . $key . '][title]" />';
echo '<input name="html_array[' . $key . '][value]" />';
}
我认为你不能在HTML中创建确切的结构。只需合并它们:
$result = array();
$current = array();
foreach($input as $item) {
$k = reset(keys($item));
if(isset($current[$k])) {
$result[] = $current;
$current = array();
}
$current[$item] = $item[$k];
}
<input name="Html_Array[0][title]">
<input name="Html_Array[0][amount]">
<input name="Html_Array[1][title]">
<input name="Html_Array[1][amount]">
等等...
循环可用于生成所需的整数序列。
只需删除包装第二维数组名称的引号
<input name="Html_Array[][title]">
<input name="Html_Array[][amount]">