Cómo Crear un Array o Objeto en Formularios de HTML
Si quieres crear un array en los formularios de html, debes de agregar el índice o llave del elemento en el atributo name de los input del formulario.
Para ello, debes pasar los nombres de los campos como si de una variable de javascript se tratara, es decir, si quieres agregar el primer elemento de un array, el nombre de input debe ser elements[0] y el segundo elemento sería elements[1] y así para los demás elementos.
Por otro lado, si quieres pasar una llave, lo puedes hacer de la misma manera elements[0][key]
Si aún no te queda, te dejo un ejemplo sobre cómo crear un objeto, un array simple, un array de objetos, un array anidado y un array de objetos anidado en formularios de html para que tengas una mejor idea de como funciona esta notación.
Objeto
Para este caso, simplemente debemos agregar las llaves al nombre del elemento.
Array Simple
En este caso, simplemente tendremos un array de valores muy sencillo.
Array de Objetos
Por otro lado, un array de objetos contiene llaves, por lo que tendremos que mezclar la notación entre índices y llaves de la siguiente manera.
Array Anidado
Este caso también es sencillo, ya que son simplemente valores agrupados en arrays, por lo que únicamente deberemos usar índices para el formulario.
Array de Objetos Anidados
Este es el caso más completo, es decir, posee todos los ejemplos anteriores pero que si has entendido la notación también es muy sencillo.
Sugerencias
Aunque todos o la mayoría de frameworks de backend generan un request con todos los datos enviados, podría ser que esto no se haga o simplemente no uses un framework, por lo que en ese caso el backend deberá parsear los parámetros a un objeto para obtener la estructura de datos correcta.