un carrito de compras funcional que sume y reste prductos y muestre el valor total
Aquí te muestro un ejemplo de un carrito de compras funcional en PHP que suma y resta productos y muestra el valor total: ```php class Producto { public $nombre; public $precio; public $cantidad; function __construct($nombre, $precio, $cantidad) { $this->nombre = $nombre; $this->precio = $precio; $this->cantidad = $cantidad; } } class Carrito { public $productos; function __construct() { $this->productos = array(); } function agregarProducto($producto) { array_push($this->productos, $producto); } function eliminarProducto($nombre) { foreach ($this->productos as $key => $producto) { if ($producto->nombre == $nombre) { unset($this->productos[$key]); return; } } } function calcularTotal() { $total = 0; foreach ($this->productos as $producto) { $total += $producto->precio * $producto->cantidad; } return $total; } function mostrarProductos() { echo "Productos en el carrito:\n"; foreach ($this->productos as $producto) { echo "Nombre: $producto->nombre, Precio: $producto->precio, Cantidad: $producto->cantidad\n"; } } } // Crear un carrito $carrito = new Carrito(); // Agregar productos al carrito $carrito->agregarProducto(new Producto("Camisa", 20, 2)); $carrito->agregarProducto(new Producto("Pantalones", 30, 1)); $carrito->agregarProducto(new Producto("Zapatillas", 40, 3)); // Mostrar productos en el carrito $carrito->mostrarProductos(); // Calcular el total echo "Total: " . $carrito->calcularTotal() . "\n"; // Eliminar un producto del carrito $carrito->eliminarProducto("Pantalones"); // Mostrar productos en el carrito después de eliminar uno $carrito->mostrarProductos(); // Calcular el total después de eliminar un producto echo "Total después de eliminar un producto: " . $carrito->calcularTotal() . "\n"; ``` Este código define dos clases: `Producto` y `Carrito`. La clase `Producto` representa un producto con nombre, precio y cantidad. La clase `Carrito` representa un carrito de compras que puede agregar, eliminar y calcular el total de productos. El código crea un carrito, agrega productos al carrito, muestra los productos en el carrito, calcula el total, elimina un producto del carrito y muestra los productos en el carrito después de eliminar uno. Finalmente, calcula el total después de eliminar un producto.