la opción que yo elegiría es generar directamente los arrays cuando se envía el formulario. Esto lo consigues poniendo de nombre a los campos name="nombre[]", name="descripcion[]", name="precio[]".
Código PHP:
for($i = 1; $i <= $cantidad; $i++){// $cantidad es la cantidad de campos que se deben generar
echo 'Nombre <input type="text" name="nombre[]" /><br />';
echo 'Descripción <input type="text" name="descripcion[]" /><br />';
echo 'Precio <input type="text" name="precio[]" /><br />';
}
Luego, para procesar esos datos, recorres los arrays normalmente:
Código PHP:
foreach($_POST['nombre'] as $clave=>$valor){
echo "Insertar:<br />";
echo 'Nombre:'.$valor.'<br />'; // También sería $_POST['nombre'][$clave]
echo 'Descripcion:'.$_POST['descripcion'][$clave].'<br />';
echo 'Precio:'.$_POST['precio'][$clave].'<br />';
echo '<hr />';
}
Saludos