Sí, la mejor opción es crear los campos como array:
    
Código HTML:
Ver original- <p><input type="text" name="nombre[]" value="" /></p> 
- <p><input type="text" name="descripcion[]" value="" /></p> 
- <p><input type="text" name="precio[]" value="" /></p> 
-   
- <p><input type="text" name="nombre[]" value="" /></p> 
- <p><input type="text" name="descripcion[]" value="" /></p> 
- <p><input type="text" name="precio[]" value="" /></p> 
-   
- etc 
-   
- <p><input type="text" name="nombre[]" value="" /></p> 
- <p><input type="text" name="descripcion[]" value="" /></p> 
- <p><input type="text" name="precio[]" value="" /></p> 
Primero hay que ver cómo se reciben los datos para saber cómo manipularlos:    
Código PHP:
Ver original-   
- /** Dará algo como: 
- ['nombre'] => array(x) { 
-       [0] => 'contenido del primer elemento', 
-       [1] => 'contenido del segundo elemento', 
-       *** etc *** 
-       [x] => 'contenido del último elemento', 
- } 
- ['descripcion'] => array(x) { 
-       [0] => 'contenido del primer elemento', 
-       [1] => 'contenido del segundo elemento', 
-       *** etc *** 
-       [x] => 'contenido del último elemento', 
- } 
- ['precio'] => array(x) { 
-       [0] => 'contenido del primer elemento', 
-       [1] => 'contenido del segundo elemento', 
-       *** etc *** 
-       [x] => 'contenido del último elemento', 
- } 
- */ 
-   
-   
- // Para manejarlos: 
- foreach($_POST['nombre'] as $indice => $nombre) { 
-     // Ya se tiene $nombre, faltan los otros dos 
-     $descripcion = $_POST['descripcion'][$indice]; 
-     $precio = $_POST['precio'][$indice]; 
- }