El siguiente ejemplo muestra un formulario para ingresar un valor y los almacena en un vector, mostrando los datos y calculando la suma.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Ingreso de Precios de Productos</title>
</head>
<body>
<h2>Formulario de Ingreso de Precios</h2>
<form method="post">
<label for="precio">Precio del producto:</label>
<input type="number" step="0.01" name="precio" id="precio" required>
<!-- Campo oculto para mantener la lista de precios en cada envío -->
<input type="hidden" name="precios_guardados" value="<?php echo isset($_POST['precios_guardados']) ? htmlspecialchars($_POST['precios_guardados']) : ''; ?>">
<button type="submit" name="guardar">Guardar</button>
</form>
<?php
// Inicializar el array de precios
$precios = [];
// Verificar si hay precios almacenados en el campo oculto
if (isset($_POST['precios_guardados']) && !empty($_POST['precios_guardados'])) {
// Convertir la cadena de precios a un array
$precios = explode(',', $_POST['precios_guardados']);
// Convertir cada elemento a un número flotante
$precios = array_map('floatval', $precios);
}
// Verificar si el formulario ha sido enviado con un nuevo precio
if (isset($_POST['guardar']) && isset($_POST['precio'])) {
// Obtener el precio ingresado y convertirlo a número flotante
$precio = floatval($_POST['precio']);
// Añadir el precio al array
$precios[] = $precio;
}
// Mostrar la lista de precios ingresados
if (!empty($precios)) {
echo "<h3>Lista de Precios Ingresados:</h3>";
echo "<ul>";
foreach ($precios as $p) {
echo "<li>$p</li>";
}
echo "</ul>";
// Calcular el total de precios
$total = array_sum($precios);
echo "<h3>Total de Precios: $total</h3>";
}
// Convertir el array de precios de vuelta a una cadena para mantenerlo en el campo oculto
$precios_guardados = implode(',', $precios);
?>
<!-- Actualizar el valor del campo oculto con la cadena de precios actualizada -->
<script>
document.querySelector('input[name="precios_guardados"]').value = "<?php echo htmlspecialchars($precios_guardados); ?>";
</script>
</body>
</html>
