Necesitas que el array se mantenga? Puedes probar usando sesiones.
Sería bueno que el agregar datos lo hagas de esta forma:
Código php:
Ver original
if(!is_array($_SESSION['miarray'])) $_SESSION['miarray'] = array();
$_SESSION['miarray'][$_POST['producto']] = array( "precio" => $_POST['precio'],
"detalle" => $_POST['detalle']
);
// Comprobando
echo '<pre>' . print_r($_SESSION['miarray'], 1) . '</pre>';
Saludos,