Enviando uma multidimensional array via POST com php

Eu tenho uma forma php que tem um número conhecido de colunas (por exemplo, diâmetro superior, diâmetro inferior, tecido, cor, quantidade), mas tem um número desconhecido de linhas, pois os usuários podem adicionar linhas como elas precisam.

Descobri como tomar cada um dos campos (colunas) e colocá-los em uma matriz própria.

  

Então, o que eu acabei com o HTML é:

         ...and so on. 

O que eu gostaria de fazer agora é levar todas as linhas e colunas para uma multidimensional array e enviar os seus conteúdos para o cliente (de preferência em uma tabela bem formatada). Não consegui realmente compreender como combinar todas essas inputs e selecionar uma matriz agradável.

Neste ponto, eu vou ter que tentar usar várias matrizes 1D, embora eu tenha a ideia de que usar uma única matriz 2D seria uma prática melhor do que usar vários arrays 1D.

Ao enviar, você obteria uma matriz como se criasse assim:

 $_POST['topdiameter'] = array( 'first value', 'second value' ); $_POST['bottomdiameter'] = array( 'first value', 'second value' ); 

No entanto, sugiro alterar os nomes dos formulários para este formato em vez disso:

 name="diameters[0][top]" name="diameters[0][bottom]" name="diameters[1][top]" name="diameters[1][bottom]" ... 

Usando esse formato, é muito mais fácil percorrer os valores.

 if ( isset( $_POST['diameters'] ) ) { echo ''; foreach ( $_POST['diameters'] as $diam ) { // here you have access to $diam['top'] and $diam['bottom'] echo ''; echo ' '; echo ' '; echo ''; } echo '
', $diam['top'], '', $diam['bottom'], '
'; }

você pode enviar todos os parâmetros com essa nomeação:

 params[0][topdiameter] params[0][bottomdiameter] params[1][topdiameter] params[1][bottomdiameter] 

então, você faz algo como isto:

 foreach ($_REQUEST['params'] as $item) { echo $item['topdiameter']; echo $item['bottomdiameter']; }