Listo (Ctrl + Enter para ejecutar) Bootcamp Fullstack »
index.html
Tab = 4 espacios
1
<!DOCTYPE html>
<html>
<body>

<h2>Funciones Modernas en PHP 8.3</h2>

<?php
// 1. Declaración de una función con tipos de entrada y retorno
function formatearPrecio(float $monto, string $moneda = "USD"): string {
    return $moneda . " " . number_format($monto, 2, '.', ',');
}

// 2. Función de cálculo de descuento con valores por defecto
function calcularDescuento(float $precio, float $porcentaje = 10.0): float {
    $ahorro = $precio * ($porcentaje / 100);
    return $precio - $ahorro;
}

// 3. Invocación estándar
$precioOriginal = 150.00;
$precioFinal = calcularDescuento($precioOriginal, 20.0);

echo "<p>Precio Original: <strong>" . formatearPrecio($precioOriginal) . "</strong></p>";
echo "<p>Precio con 20% desc: <strong style='color:#059669;'>" . formatearPrecio($precioFinal) . "</strong></p>";

echo "<hr>";
echo "<h4>Uso de Argumentos con Nombre (PHP 8+):</h4>";

// Invocamos especificando nombres (el orden no importa)
echo "<p>Cálculo con COP: <strong>" . formatearPrecio(moneda: "COP", monto: 450000.00) . "</strong></p>";

// 4. Arrow Function para transformar una lista de notas
echo "<hr>";
echo "<h4>Arrow Function con array_map():</h4>";

$notas = [75, 88, 92, 64, 100];
// Sumar 5 puntos de bonificación con fn()
$bonificadas = array_map(fn(int $nota): int => min(100, $nota + 5), $notas);

echo "Notas originales: " . implode(", ", $notas) . "<br>";
echo "Notas con bono de Kilopolis (+5): <strong>" . implode(", ", $bonificadas) . "</strong>";
?>

</body>
</html>
Haz clic para editar este código
Vista Previa
Servidor PHP 8.3