HTML-форма, передающая два массива разметки PHP (специальный случай, который я думаю)

Этот 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]">